Coder Social home page Coder Social logo

redeclipse / base Goto Github PK

View Code? Open in Web Editor NEW
422.0 422.0 85.0 65.28 MB

Base environment for Red Eclipse and associated source files.

Home Page: https://redeclipse.net/

Shell 0.38% C 43.83% C++ 54.75% Awk 0.04% Makefile 0.71% Objective-C 0.11% NSIS 0.06% Batchfile 0.02% CMake 0.11%
game game-engine hacktoberfest main-project source-code

base's People

Contributors

acerspyro avatar anengineer1 avatar asciiwolf avatar bonifarz avatar calinou avatar cloudziq avatar dc-redeclipse avatar delph avatar devnexen avatar espadolini avatar freezurbern avatar hirato avatar iceflowre avatar ienorand avatar jeffbobbo avatar jigoku avatar jonathangray avatar linewriter1024 avatar lsalzman avatar no-lex avatar pocak100 avatar q009 avatar qreeves avatar shacknetisp avatar shirepirate avatar swooboo avatar theassassin avatar wellingguzman avatar zaquest avatar zeroknight avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

base's Issues

Create test options

With the addition of continuous integration, it'd be good to do a test run of the client and server that would provide feedback on config errors and missing content. Basically need to set that up internally in the code and have it return an error code (ret!=0).

Eg: redeclipse -z

error: missing ']' in some/config.cfg
process 'redeclipse' returned an error

Respawn on new edit maps broken

Respawn doesnt work on new edit maps

When u fall down from the map u cant suicide or respawn with spec and spawn new and if you want to go up again with flying it can happens that u dont find the map back :D (it doesnt work until there is a playerstart)

Resync dominations

From: http://redeclipse.net/forum/viewtopic.php?f=9&t=8

Currently, dominations are cached client-side only, so to avoid being dominated people quit then rejoin a match; this lets them keep their score but resets their domination and/or frag counts. This should be resynchronised on connect along with other savedscore data.

RE crashs

http://redeclipse.net/forum/viewtopic.php?f=4&t=520&p=4787&hilit=big+list#p4787

black screen (RE crashs)
On my map fatalerror (https://drive.google.com/file/d/0B__JdfXlvXlxb2MtT25GMkJCck0/view?usp=sharing) (load it with edit), spawn and directly! (in the air) after spawn do one! shot with the pistol (otherwise do nothing dont move or jump) then at one point u get (every time) a black screen and the speed increases like lightspeed :D and then Fatalerror (Segmentation Violation), RE crashs. The special with this is, its possible without var change! (MaxPayne show me to do the same with var changes but this is without possible).

Var for scaling vampire regen

There currently does not appear to be a var for scaling the amount of health gained from damage when vampire mode is selected.

It would be nice to have games where players who deal lots of damage get some sort of bonus, but without a scaling factor it can make one player overpowered with very little effort (one well-placed shot).

The scaling would work by multiplying the damage dealt before adding it to the players health. (I'm not sure what the current algorithm is but something like playerHealth += vampireScale * damageDealt)

Values from 0-1 would decrease the amount of health regained, values >1 would increase the amount gained, and values <0 would cause the player to lose health when dealing damage (if possible. Not sure if there's actually a good use for this so it's not a big issue)

[enhancement] edit: find ents - attributes

At the moment if you want to search ents, all attributes are on with "0" but its not usefull, because its more often that you need them off or only some on with some other parameters. So its more usefull to turn them on default off.

Certain sounds no longer play

With the latest update of the git, some sounds just no longer play on my pc. Examples include the announcer, death sounds, some weapons sounds etc. Whatever you did to fix bug #64 turn off a lot more than gibbing sounds.

Searchable texture menu

From: http://redeclipse.net/forum/viewtopic.php?f=9&t=213

Simply enough, often I know exactly what texture i want, or from which textureset, but theres missing some kind of easy way to find the texture you want. I think a simple filter (based on texturepath) such as in the svn vars menu would do the trick. If its easy to implement, me (and probably other regular mappers too :p ) would appreciate it.

rotation of player preview

With even more vanity items to explore, it would be cool to have some control of the player preview's rotation (at least for the larger one, "playerprev"). Pausing the rotation does already help much to look at vanity items, so what about a more convenient way than messing with /gamespeed or /gamepaused? An interactive way to rotate the preview model would be a very nice extra.

update.sh line 413

echo ")"

doesn't write to the file, causing an error:

Deploying: "/home/zachery/.redeclipse/cache/devel/install.sh"
/home/zachery/.redeclipse/cache/devel/install.sh: 9: /home/zachery/.redeclipse/cache/devel/install.sh: Syntax error: end of file unexpected (expecting ")")
Administrator permissions are required to deploy the files.
bin/update.sh: line 463: return: can only `return' from a function or sourced script

Show server status for lock/full/etc

From: http://redeclipse.net/forum/viewtopic.php?f=9&t=551

I think it would be a good idea to replace "open" with "auth" or some other word if connectlock is set on a server. At the moment, there is no indication of connectlock until one tries to connect, which tells the user the server is in private.

Addendum: There is more than just connectlock at play here, need a more reliable system to check against.

Coding style?

Now that code development is open, what about adding coding conventions?

CONTRIBUTING.md is read automatically by GitHub and suggested to the user when submitting an issue or a pull request.

arm architecture refuses to run (server)

I run the server on a raspberry pi, but since changes to the launcher scripts (redeclipse.sh, redeclipse_server.sh) running it results in:

Unsupported architecture: armv6l

There was an error running Red Eclipse.

In the case of arm, the standalone server builds and runs fine. 'redeclipse.sh' should check if it is being run as a server and allow other architectures such as arm to work around this.

I did try adding to 'redeclipse_setup()' in 'redeclipse.sh' :

arm*)
    [ "${REDECLIPSE_BINARY}" = "redeclipse_server" ] && REDECLIPSE_ARCH="arm"    
;;

However it returns:

Unable to find a working binary.

All i know in this case is that it should try to launch the binary named 'redeclipse_server_native'

Semaphore-built binaries do not appear. Eventually give Windows error

[Window Title]
redeclipse.exe
[Main Instruction]
Do you want to send more information about the problem?
[Content]
Additional details about what went wrong can help Microsoft create a solution.
[^] Hide Details [Send information] [Cancel]

<?xml version="1.0" encoding="UTF-16"?>
<WERReportMetadata>
    <OSVersionInformation>
        <WindowsNTVersion>6.1</WindowsNTVersion>
        <Build>7601 Service Pack 1</Build>
        <Product>(0x30): Windows 7 Professional</Product>
        <Edition>Professional</Edition>
        <BuildString>7601.18717.amd64fre.win7sp1_gdr.150113-1808</BuildString>
        <Revision>1130</Revision>
        <Flavor>Multiprocessor Free</Flavor>
        <Architecture>X64</Architecture>
        <LCID>1033</LCID>
    </OSVersionInformation>
    <ParentProcessInformation>
        <ParentProcessId>8832</ParentProcessId>
        <ParentProcessPath>C:\Windows\System32\cmd.exe</ParentProcessPath>
        <ParentProcessCmdLine>C:\Windows\system32\cmd.exe /c &quot;&quot;D:\VersionControl\redeclipse-git\redeclipse.bat&quot; &quot;</ParentProcessCmdLine>
    </ParentProcessInformation>
    <ProblemSignatures>
        <EventType>BEX64</EventType>
        <Parameter0>redeclipse.exe</Parameter0>
        <Parameter1>0.0.0.0</Parameter1>
        <Parameter2>54ee20c4</Parameter2>
        <Parameter3>StackHash_126e</Parameter3>
        <Parameter4>0.0.0.0</Parameter4>
        <Parameter5>00000000</Parameter5>
        <Parameter6>00000000c0200000</Parameter6>
        <Parameter7>c0000005</Parameter7>
        <Parameter8>0000000000000008</Parameter8>
    </ProblemSignatures>
    <DynamicSignatures>
        <Parameter1>6.1.7601.2.1.0.256.48</Parameter1>
        <Parameter2>1033</Parameter2>
        <Parameter22>126e</Parameter22>
        <Parameter23>126e868c140bae6089005407fb55f2a4</Parameter23>
        <Parameter24>cf80</Parameter24>
        <Parameter25>cf807ba879ec00ddacb32f97dc62d67d</Parameter25>
    </DynamicSignatures>
    <SystemInformation>

    </SystemInformation>
</WERReportMetadata>

Mutator to turn off radar

EDIT: I swear hard was going to have no impulse regen/other stuff, but I've heard conflicting reports that it's just no radar and regen. Sorry if that's the case heh.

I suggest that RE has a mutator to disable radar. I personally enjoy radar on/off respectively just like I enjoy the added experience other mutators offer.

Promode/hard mutator disables radar, but I and dare I say others prefer just disabled radar and nothing else. Similar case to the classic mutator with the prospected promode (afaik anywho), unless that's going to go too.

Reasons for: It's easer to change then using a server variable/client turning it off (although there's a nice bind here, ensures everyone in-game is not using radar more easily, and doesn't require permissions on a server to change.

Reasons against: Most players would not use it, only those pros who enjoy the 'competitive depth' of disabled radar, so it clutters the mutator selection. Radar is also more related to higher level of play rather than how the other mutators just mix things around, maybe defeating their purpose.

Don't get me wrong here, I'm not one of those pros who always disables it, and actually prefer radar competitively (duels), I just want the accessibility of a mutator.

Player animation improvement suggestions

  • Don't play animation when player is not actually moving (speed very close to 0), regardless of keys pressed.
  • Play animation slower when player walks/runs slower than default walking/running speed, and faster when they walk/run faster than the default speed.

Locked online editing bug

If you get on a server which does editing and is locked. And you dont have the rights to edit and you go in edit and scroll fast to change something, you get a message error and disconnect from server.
This error should be caught and should not lead to the disconnection from the server.

redeclipse.sh functions for bash and sh

I couldn't get redeclipse.sh to work on my Ubuntu system, it gave:

./redeclipse.sh: 4: ./redeclipse.sh: function: not found
./redeclipse.sh: 6: ./redeclipse.sh: Syntax error: "}" unexpected

Using

bash redeclipse.sh

doesn't cause problems with the functions, though.
So I found StackOverflow link about functions, which appears to fix the issue when the functions are defined as

NAME () { }

Icons for entities in editing

At the moment you have small purple light circles for checkpoints, lights ... (all newents ...). I see octaforge and there the light have "big" icons with a lamp. It would be nice if RE can get something like this too. So all is better to see and to find. (extra: Option to switch btw icons and purple lights)

Issue Example

This is an example of an issue for people to view.

Sometimes Weapons do no Damage until next Respawn (RE 1.4)

I'm not really sure if it's a bug or feature, but sometimes after a respawn my weapons do no damage at all until my next death. I hear hit-sounds and everything seems normal, but enemies will never die.

I've verified that with a suicidal modification to the rifle (no range, large explosion, no timeout till damage) that does 90 damage to myself. If that bug happens, i can fire it repeatedly for minutes and i won't die. It works otherwise, killing me on second shot (if i had 100 health before).

It might be that i ran into some kind of cheat-prevention, since i modified other vars too. I.E.: people who do massive damaged to multiple players/bots in short time are probably "cheaters". But this even occured in insta-gib, where i managed to hear the hit-sound dozens of times, without scoring a single kill.

Continuous resource failure messages

From: http://redeclipse.net/forum/viewtopic.php?f=9&t=143

If a model or texture can't be found, the client continually tries to reload it every time.

This has two effects:

  1. It's extra load that isn't needed.
  2. Because the event log and chat log are tied together for maximum number of messages, if something requests something every frame (say... models/vanities/chestplate/mesh.md5mesh), it clears the chat log out, often before one can read a message.

Suggested fix is two part:
1: Save failed loading attempts in memory and don't do them again.
2: Separate the event (kills, caps, etc) log from the chat log.

Bashisms in sh scripts

Using checkbashisms (part of 'devscripts' on debian) lists a lot of bashisms in the ported updater scripts, it would be good to either convert them to sh equivalents or simply mark these as #!/bin/bash script if bash functions are needed/super-convenient enough.

$ checkbashisms redeclipse.sh redeclipse_server.sh src/semaphore.sh 
possible bashism in redeclipse.sh line 2 ($_):
if [ "$_" != "$0" ]; then REDECLIPSE_EXITR="return"; else REDECLIPSE_EXITR="exit"; fi
possible bashism in redeclipse.sh line 62 (test with unary -a (should be -e)):
        if [ -a ".git" ]; then REDECLIPSE_BRANCH="devel"; fi
possible bashism in redeclipse.sh line 63 (test with unary -a (should be -e)):
        if [ -a "${REDECLIPSE_PATH}/bin/branch.txt" ]; then REDECLIPSE_BRANCH=`cat "${REDECLIPSE_PATH}/bin/branch.txt"`; fi
possible bashism in redeclipse.sh line 106 (should be '.', not 'source'):
    source "${REDECLIPSE_PATH}/bin/update.sh"
possible bashism in redeclipse.sh line 130 (test with unary -a (should be -e)):
    if [ -a "${REDECLIPSE_PATH}/bin/${REDECLIPSE_ARCH}/${REDECLIPSE_BINARY}${REDECLIPSE_SUFFIX}" ]; then
possible bashism in redeclipse.sh line 131 ((push|pop)d):
        pushd "${REDECLIPSE_PATH}" 2>&1 > /dev/null || return 1
possible bashism in redeclipse.sh line 133 ((push|pop)d):
            popd 2>&1 > /dev/null
possible bashism in redeclipse.sh line 136 ((push|pop)d):
        popd 2>&1 > /dev/null
possible bashism in redeclipse_server.sh line 4 (should be '.', not 'source'):
source "${REDECLIPSE_PATH}\redeclipse.sh"
script src/semaphore.sh does not appear to have a #! interpreter line;
you may get strange results
possible bashism in src/semaphore.sh line 8 ((push|pop)d):
pushd data
possible bashism in src/semaphore.sh line 10 ((push|pop)d):
popd
possible bashism in src/semaphore.sh line 57 ((push|pop)d):
    pushd ${HOME}/build/${BRANCH_NAME}
possible bashism in src/semaphore.sh line 59 ((push|pop)d):
    pushd windows
possible bashism in src/semaphore.sh line 61 ((push|pop)d):
    popd
possible bashism in src/semaphore.sh line 62 ((push|pop)d):
    pushd linux
possible bashism in src/semaphore.sh line 64 ((push|pop)d):
    popd
possible bashism in src/semaphore.sh line 73 ((push|pop)d):

Client lag and game interference

From: http://redeclipse.net/forum/viewtopic.php?f=9&t=159

Obviously playing against laggers is frustrating, and I think something should be done about it. I know people can't help it sometimes or even all the time but it's unfair on everyone else. I'm not sure how other twitch arena shooters have dealt with it, nor do I know much about how RE works, so sorry if the following is stupid.

What if servers detected players who's packet jump goes over a variable threshold number and automatically kicks them if their packet jump stays over that limit for a variable amount of time? For example, lets says player x has been found to has 300ms packet jump, way over the threshold (lets say 200ms packet jump). 10 seconds later (the hypothetical variable amount of time), as player x's ping has stayed over the threshold in every second interval the server has counted, the user is kicked. No ones banned or anything, the player just can't stay on for an extended period of time until their packet jump gets lower.

Use IP addresses for ignore

Currently, the client side ignore command works only on client numbers. Now that IP addresses are visible, it should use that instead to match against.

Limit var for laps

From: http://redeclipse.net/forum/viewtopic.php?f=9&t=142

In most modes, there's a variable that can be set to trigger an early end to the game on the basis of points, rather than time. The exception appears to be in modes that are controlled by laps, gauntlet and time-trial.

Both of those should be able to run off the same "laplimit" variable, at least until the far-future overhaul of gauntlet. An example TT scenario (which is nothing but wild imagination ungrounded in reality, I'm sure) could have a few competent players on one team, against someone who's capable of putting up otherworldly numbers well out of their reach, but only occasionally, and they have a tendency to throw away runs at the slightest provocation in search of that one perfect lap. In this case, setting a laplimit would give the slow-and-steady team a way to apply at least some pressure and possibly even win, if they can keep churning out laps to trigger the limit before the opponent can put together the one lap they consider good enough.

Of course, there is an issue in that a player or team who's one lap away from the limit, but trailing, will be actively hindered (to the point of immediately losing) by completing any lap that doesn't overtake the leader. This is why, like all the other scorelimit variables, laplimit should be disabled by default.

In gauntlet, it could work slightly differently: if the first attackers reach the limit, take note of how much time has elapsed, perform the team swap immediately, and reset the clock so there's that much time left when the second half starts. If the second team reaches the limit, then (barring mid-game changes to the limit variables) they're either leading or tied, and if they're tied then it took them less time than the first half took to get there (otherwise time would have run out before they scored the final lap). Either case is sufficient to end the game in victory for the second-half attackers.

SDL Joystick Support

While this has never been a high priority (this is a twitch shooter after all), there are often requests for joystick/gamepad support. This issue is here if ever anyone wants to try to implement that.

Gib sound plays through entire map

I assume this is a bug.

I was playing some bot matches on the latest version (whatever git is at right now) and randomly heard gib sounds although nobody near me had died, confused, i went into spectator mode, and flew about, while still hearing the occasional gib sounds, even without a bot nearby

At first i thought the sound spam that occured with the underwater noise recently was still there, but with the gib sound instead. Me and bonifarz played about, spawning bots and it seems there is no proximity/positional location to the gib sound when a player/bot dies.

Reproduce:

  1. load a map
  2. spawn a bunch of bots
  3. spectate while flying far away from the map
  4. you can hear gib sounds as the bots die.

Confusing grid size in edit mode

Theres a confusing gridsize on small and normal size maps. That means you can scroll (G+scroll) until 1/4 of mapsize, when you scroll further then nothing happens optical. The Confusing is now when u would like the cubesize smaller, you scroll dwon for a smaller gridsize and nothing happens.
Its only affects on smaller mapsize because theres a limit for the gridsize (one quarter of a 4x mapenlarge of a new map). And while editing it happens more often that you scroll more up as needed, and when scroll down u need scroll more as it should be possible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.