Commit Graph
6988 Commits
Author SHA1 Message Date
ac-stef eb60302e67 cleanup
- fix possible crash in conc (but it's still an ugly hack)
- fix noob usage of strcmp
- flag some memory leaks (it would be nice, if the author(s) would clean
   up the mess himself)
- fix crash in substr
- whitespace cleanup

there are plenty more memory leaks in command.cpp - for example, every
goto in cubescript does not clean up anything
2014-05-14 22:54:37 +02:00
ac-stef 5058172a06 fix empty map name after /newmap and fix voting for nonexistent maps
now /savemap after /newmap saves to "newmap.cgz" instead of ".cgz"

also, voting for a nonexistent map in singleplayer leaves the client in
some sort of a broken state. this fix blocks the vote.

and: newmap is blocked in bot modes, since that isn't working stable.
2014-05-14 22:39:57 +02:00
ac-stef 23d04ffec6 fix access to uninitialized memory
thx, valgrind
2014-05-14 22:39:57 +02:00
ac-stef 13c432229b reverting integer overflow which floods the log every 50 days
this may have been borons second most stupid commit
2014-05-14 22:39:57 +02:00
ac-stef dcd46bbec9 fix modifyvar
give a proper error message when trying to edit read-only vars
2014-05-14 22:38:29 +02:00
ac-stef c276c508da fix prompt cursor position
no more 1-char limit on inputcommand prompts
2014-05-14 22:38:29 +02:00
ac-stef d0722dbc27 fix seedlen 2014-05-14 22:38:29 +02:00
ac-stef ac54bdbb5a substitute non-portable printf format string
the printf format "llx" can not be used on all platforms (for example,
mingw uses a different name for it)

this patch provides a function, that manually converts a 64-bit integer
to a hex string

Thx, Jpablon
2014-05-14 22:17:21 +02:00
ac-stef 8a091430c7 filter reserved windows filenames
this patch prevents the use of map names like COM1 and PRN for all clients,
so that windows clients wouldn't hang because of the map name

Thx, Jpablon
2014-05-14 22:17:21 +02:00
ac-stef de5deae8e3 fix: gcc crashing the client
This workaround lowers the optimisation level for those parts of the code,
that gcc 4.7 (and probably other versions) would compile to a binary that
crashes after a while. The previous solution for this so-called "linux bug"
was to use clang instead of gcc.

Thx, Jpablon, for doing all the work on this.
2014-05-14 22:17:20 +02:00
ac-stef ec97e75b51 makefile with easier customisation
This makefile allows changing the compiler to g++ or requesting debug
binaries without editing the makefile.

The makefile sets default values for CXX and ACDEBUG, then reads values
from the file Makefile_local (if it exists). A commandline parameter
overrules both.

Makefile_local is not part of the repository, so it can be changed without
git caring (or nagging) about it. It is listed in .gitignore.

To switch to g++, create a file "Makefile_local" with the content
"CXX=g++".

To compile debug binaries, type "make clean install ACDEBUG=yes".

When g++ is used, "fast-math" is now enabled.
2014-05-14 16:31:14 +02:00
Lucas GAUTHERONandac-stef 8e0796a6ae transparency options for console and votes (resolves #45) 2014-05-14 14:28:54 +02:00
Lucas GAUTHERONandac-stef 4fd4e09f43 Added AC icon to SDL window (fixes #29)
As zeSKB reported, there was no icon for the game window.
This should now be fixed. We might want to make it transparent in the future,
but we would have to make sure it will be supported by any system.
2014-05-14 14:28:54 +02:00
ac-stef 6306a75e6e report openal errors with more detail
(to make debugging further sound issues easier)
position checking may be reduced again in a while...
2014-05-14 14:28:45 +02:00
ac-stef c9db8143f4 fix some sound bug
in some cases, TraceLine may shorten the shotline to length zero, which
causes addshotline() to produces illegal coordinates for sound effects
2014-05-14 14:27:00 +02:00
RonaldReagan 86be3a6415 Merge pull request #41 from aurhat/wiosna
Fix of the bug, which causes crash on Windows because of missing "history" file.
2014-04-12 12:06:24 -07:00
aurhat 88f9448238 Fix of the bug, which causes crash on Windows because of missing "history" file.
After first run of git AC version "config/history" file doesn't exist, what causes crash of  Windows AC version,  which can't find this file.
Commit just adds checking, whether this file exists - "if(!histbuf) return;" in loadhistory() .
Commit fixes also location of some brackets and spaces, in order to keep proper AC style.
2014-04-08 22:23:58 +02:00
aerkefiende 12a65543c1 Merge branch 'aniso' of github.com:pmjdebruijn/AC into pmjdebruijn-aniso 2014-04-08 21:13:19 +02:00
RandumKiwi a5f412bc25 Merge pull request #40 from aurhat/wiosna
Fix of wrong "alive" status in scoreboard. Closes #21
2014-04-08 22:20:55 +12:00
aurhat 5b94bab21f Fix of wrong "alive" status in scoreboard.
This commit fixes the issue: https://github.com/assaultcube/AC/issues/21
Player in spectate mode isn't dead, so when he switches from spectate to active mode, he is still non-dead.
Therefore d->state=="CS_DEAD" doesn't work in such cases.
This commit removes also some aimless line.
2014-04-05 13:52:41 +02:00
aerkefiende f5815f4277 Changing the interval to 5 health points in menuslider for heartbeat 2014-04-03 22:16:43 +02:00
aurhat 599e62336a Patch adds flags reset in ctf/htf mode after "shuffleteams".
Nowadays after teams rearrangemend flags are only dropped and don't return to base.
2014-03-30 15:38:29 +02:00
Pascal de BruijnandPascal de Bruijn 9876a3f7f4 menus_settings: add anisotropic filtering 2014-03-28 18:40:24 +01:00
RandumKiwi 44524424b8 Merge pull request #35 from pmjdebruijn/master
main: guard against rnd(0) in rndmapname - thanks pmjdebruijn
2014-03-28 08:13:49 +13:00
Pascal de BruijnandPascal de Bruijn 7482f259cf main: guard against rnd(0) in rndmapname
starting ac_client from the wrong working directory, where
packages/maps/official/*.cgz globs to an empty list, we
trigger a SIGFPE because of rnd(0):

Program received signal SIGFPE, Arithmetic exception.
0x000000000044d37d in rndmapname () at main.cpp:897
897	        char *map = newstring(maps[rnd(maps.length())]);
2014-03-27 18:20:21 +01:00
aerkefiende aff4def78d Merge branch 'resetsleep' of github.com:aurhat/AC into aurhat-resetsleep 2014-03-26 20:44:58 +01:00
aerkefiende 3fd1004383 Merging pull request 33
Thanks grenadier!
2014-03-25 21:45:43 +01:00
aerkefiende 332b62c9df Changes to .gitignore file
Listed all files created when starting without home argument
2014-03-25 21:43:06 +01:00
aerkefiende 97e0f6863b Merge branch 'grom' of github.com:aurhat/AC into aurhat-grom 2014-03-25 21:30:51 +01:00
aerkefiende 1fb6d5a05b Updated .gitignore
Ignoring files that are created after make/make install
2014-03-23 21:35:06 +01:00
aurhat 1bb7a5d7ac Restoring previous conditions in setfollowplayer().
Current conditions appeared with commit: https://github.com/assaultcube/AC/commit/8f39911eb0725b22bb4dc3a50d3e89702afcc49c
The problem with its is, that when player is SPECTATOR,  then "/setfollowplayer CN" command works only on players in CLA team, and should work on all, like "changefollowplayer".
This commit fixes that. Thread related to this bug: http://forum.cubers.net/thread-7495.html
2014-02-16 13:50:06 +01:00
aurhat ef165773b8 This commit fixes removing sleeps in "resetsleep" function.
To test this bug make, for example, 3 long-standing sleeps, add checking of number of sleeps before and after existing "loopv(sleep)",
and later  type "/resetsleeps" command in AC - result: 3 sleeps "before" and 1 remains "after".

Explanation by stef: after deleting elements from vectors there are no holes,
so if there were sleeps[0], sleeps[1] and sleeps[2], then after removing sleeps[0] there left
sleeps[0] and sleeps[1], so during next loop cycle this sleeps[0] is neglected (because i=1).

Commit just changes loopv to loopvrev (loop from end to begin).
2014-02-15 10:55:07 +01:00
aurhat cf3d2692ad This commit adds simple fix to "changespeed" script.
It shouldn't work in multiplayer and when gamespeed is less than 10 and grather than 1000.
To test  bug type in multiplayer, for example: "/changespeed 1100 30" .
2014-02-14 22:57:43 +01:00
aurhat b672cea505 This commit fixes bug related to bot mode, when it is started from non-bot mode.
To see this bug just start AC, run bot team mode and watch:
- "enemies" menu instead of  "team enemies" menu,
- number of players less by 2 than should be.
2014-02-12 21:19:55 +01:00
aurhat b33b74c11c Fixed reference to "scopesens" in old "zoom" script, because it is a variable nowadays, and not command.
Bug is visible clearly after typing  "/zoom 1".
2014-02-11 21:33:53 +01:00
RandumKiwi 9197de052f Fix BASH vs KSH conflicts, by forcing user to use BASH. 2014-02-06 09:04:27 +13:00
RandumKiwi 79cce1ef6f Update packaging script to take advantage of GIT 2014-02-06 08:56:37 +13:00
RonaldReagan 410393f32f Update changelog.txt 2014-01-30 21:51:37 -08:00
RonaldReagan 8558db7508 Merge pull request #27 from ac-stef/pit
Fixing map header, adding tagclips. yay!
2014-01-30 17:32:35 -08:00
Ronald Reagan c64d1e855b Console history save fixes 2014-01-30 17:21:35 -08:00
ac-stef e69a94cdd8 loop optimizations
also cut some overshooting lines
2014-01-31 00:53:12 +01:00
ac-stef d258b7c186 less annoying visualisation for tagclips
- press B to get the former filled volume view
- raise the value of tagnumfull to get both views simultaneously
- cubescript parameters should be cleaned up before release
2014-01-30 19:38:41 +01:00
ac-stef a8d2ab1c65 transformclipentities improved
The function will now also take care of obsolete clip entities, which
gives the mapper the opportunity to tag clip areas manually and then
have the envelopped (and therefore obsolete) clip entities removed.

When done, the map will be cleaned of "clip & plclip" tags, since clip
already includes the properties of plclip.
2014-01-29 13:03:37 +01:00
ac-stef 7f12ef4131 command to automatically convert all suitable clip entities into tag clips
also: fix sparklies in heightfields
2014-01-29 00:03:50 +01:00
ac-stef 3add3a4876 fix: clip all types of players
i hardly believe, anyone can throw a flag in a tagged area, but who knows...
2014-01-28 17:21:07 +01:00
ac-stef 0ff8fafb5f limit particle emission to 50 fps 2014-01-28 16:01:21 +01:00
ac-stef 6f5635917f visualisation for tagclips
To keep things cheap, only tagged areas inside the editing grid are shown.
I added two variables, tagnum and taglife, to allow playing with the
parameters of the sparklies. Those should be removed later. The default
values work quite well on my really crappy onboard graphics card. Higher
values start dropping fps.

Also, the edit status line now shows the tag value of the cube pointed at.

The patch also fixes the bug, that the edit status line did not show
details about the selection, unless there was at least one entity in the
map.
2014-01-28 14:28:43 +01:00
ac-stef 3865affb0b additional way of clipping areas: tagclips
In addition to the existing clip- and plclip-entities, this patch provides
a new approach to provide the same: clip areas by tagging cubes.
Each cube of a map has a parameter "tag". All tags in all existing ac maps
are currently zero. It is a leftover from cube 1. This patch uses the tag value
to determine, if a cube (from floor to ceiling) should be forbidden for
players (tag 0x80) or every moving object (tag 0x40). Tagclips have several
advantages over classic clip entities: they are fast to establish (mark
area, then /edittag 0x80) and are "cheap" for the engine. Tagclips do not
increase the number of entities. As tagclips are always floor to ceiling,
they can't be used to build stairs or platforms. Tagclips should be
preferred over clip entities, but can coexist without problems.

Technically, setting the tag value to 0x40 or 0x80 causes the physics
engine to handle the cube like a "solid".
2014-01-28 01:12:52 +01:00
ac-stef c3d4713904 clean up map header handling
Older versions of ac did not obey the map header field "headersize".
When a map was written, only the "version" field was updated, even if
the new written header had a different size. Thanks to bigger headers
in map versions 7 & 8 (and now smaller headers again in 9), the headersize
of basically all official maps is bogus. This fix makes sure, only proper
headersizes are written. It also makes the game tolerate different (bigger)
headers - and keeps their content untouched. Future map format extensions
can use this to add header information without breaking existing map parsers.

This patch establishes a new map format 10, which is identical to format 9,
with the exception that the headersize field is guaranteed to be correct.
Format 10 also allows any amount of additional header data.

This patch also cleans up the transformation routines for old map entities.
2014-01-27 23:01:23 +01:00
ac-stef 6e4b23734f fix clang warnings 2014-01-27 23:01:23 +01:00