Search Results

Search found 26693 results on 1068 pages for 'back to basics'.

Page 367/1068 | < Previous Page | 363 364 365 366 367 368 369 370 371 372 373 374  | Next Page >

  • Processing Text and Binary (Blob, ArrayBuffer, ArrayBufferView) Payload in WebSocket - (TOTD #185)

    - by arungupta
    The WebSocket API defines different send(xxx) methods that can be used to send text and binary data. This Tip Of The Day (TOTD) will show how to send and receive text and binary data using WebSocket. TOTD #183 explains how to get started with a WebSocket endpoint using GlassFish 4. A simple endpoint from that blog looks like: @WebSocketEndpoint("/endpoint") public class MyEndpoint { public void receiveTextMessage(String message) { . . . } } A message with the first parameter of the type String is invoked when a text payload is received. The payload of the incoming WebSocket frame is mapped to this first parameter. An optional second parameter, Session, can be specified to map to the "other end" of this conversation. For example: public void receiveTextMessage(String message, Session session) {     . . . } The return type is void and that means no response is returned to the client that invoked this endpoint. A response may be returned to the client in two different ways. First, set the return type to the expected type, such as: public String receiveTextMessage(String message) { String response = . . . . . . return response; } In this case a text payload is returned back to the invoking endpoint. The second way to send a response back is to use the mapped session to send response using one of the sendXXX methods in Session, when and if needed. public void receiveTextMessage(String message, Session session) {     . . .     RemoteEndpoint remote = session.getRemote();     remote.sendString(...);     . . .     remote.sendString(...);    . . .    remote.sendString(...); } This shows how duplex and asynchronous communication between the two endpoints can be achieved. This can be used to define different message exchange patterns between the client and server. The WebSocket client can send the message as: websocket.send(myTextField.value); where myTextField is a text field in the web page. Binary payload in the incoming WebSocket frame can be received if ByteBuffer is used as the first parameter of the method signature. The endpoint method signature in that case would look like: public void receiveBinaryMessage(ByteBuffer message) {     . . . } From the client side, the binary data can be sent using Blob, ArrayBuffer, and ArrayBufferView. Blob is a just raw data and the actual interpretation is left to the application. ArrayBuffer and ArrayBufferView are defined in the TypedArray specification and are designed to send binary data using WebSocket. In short, ArrayBuffer is a fixed-length binary buffer with no format and no mechanism for accessing its contents. These buffers are manipulated using one of the views defined by one of the subclasses of ArrayBufferView listed below: Int8Array (signed 8-bit integer or char) Uint8Array (unsigned 8-bit integer or unsigned char) Int16Array (signed 16-bit integer or short) Uint16Array (unsigned 16-bit integer or unsigned short) Int32Array (signed 32-bit integer or int) Uint32Array (unsigned 16-bit integer or unsigned int) Float32Array (signed 32-bit float or float) Float64Array (signed 64-bit float or double) WebSocket can send binary data using ArrayBuffer with a view defined by a subclass of ArrayBufferView or a subclass of ArrayBufferView itself. The WebSocket client can send the message using Blob as: blob = new Blob([myField2.value]);websocket.send(blob); where myField2 is a text field in the web page. The WebSocket client can send the message using ArrayBuffer as: var buffer = new ArrayBuffer(10);var bytes = new Uint8Array(buffer);for (var i=0; i<bytes.length; i++) { bytes[i] = i;}websocket.send(buffer); A concrete implementation of receiving the binary message may look like: @WebSocketMessagepublic void echoBinary(ByteBuffer data, Session session) throws IOException {    System.out.println("echoBinary: " + data);    for (byte b : data.array()) {        System.out.print(b);    }    session.getRemote().sendBytes(data);} This method is just printing the binary data for verification but you may actually be storing it in a database or converting to an image or something more meaningful. Be aware of TYRUS-51 if you are trying to send binary data from server to client using method return type. Here are some references for you: JSR 356: Java API for WebSocket - Specification (Early Draft) and Implementation (already integrated in GlassFish 4 promoted builds) TOTD #183 - Getting Started with WebSocket in GlassFish TOTD #184 - Logging WebSocket Frames using Chrome Developer Tools, Net-internals and Wireshark Subsequent blogs will discuss the following topics (not necessary in that order) ... Error handling Custom payloads using encoder/decoder Interface-driven WebSocket endpoint Java client API Client and Server configuration Security Subprotocols Extensions Other topics from the API

    Read the article

  • Update installed on netbook.. now sidebar icons have disappeared! :oS

    - by Lolly Collier
    hope someone can help. I am not extremely computer literate and my brother installed Ubuntu on my Acer net book when my windows crashed irretrievably . I recently (day before yesterday) had a box come up saying an update (i think it was 10 or 11 .something) i followed the instructions to download and install it and now, all my side bar icons have disappeared. I happened upon an Internet connection by chance and have no idea whatsoever how to get them back. This is quite probably a really stupid question and a really easy fix but as i said earlier, i am pretty much a novice, very far from a computer expert! Thanx in advance :o)

    Read the article

  • How to enable hibernate on Ubuntu 13.10?

    - by mjwittering
    Something I usually do after installing Ubuntu is reactivate the hibernation function. I find it quite useful to function for the more energy concious. Typically, I'd complete the instructions in this tutorial for Ubuntu 12.04 and I'd be back in business. However, it does seem to work any more. Any suggestions? http://www.howtogeek.com/113923/how-to-re-enable-hibernate-in-ubuntu-12.04/ sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla [Enable Hibernate] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes

    Read the article

  • GRUB not showing /dev/sda2 is Windows 7 Loader

    - by Ricardo
    A few days ago I accidentally deleted Ubuntu partition using GParted. I thought Windows 7 would start normally, but I got a "grub-rescue" screen instead. Then, I recreated a partition for Ubuntu (/dev/sda6) and reinstalled it. Ubuntu starts properly now; but GRUB shows me /dev/sda2 is Windows Recovery System (WRS), what is false, since /dev/sda1 is WRS and /dev/sda2 is Windows 7 Loader. I booted using Windows 7 disk and tried to correct this problem automatically and by bootrec.exe /fixboot and /fixmbr, and nothing is able to fix my problem. Yet, Windows (disk) says there is no OS in my computer. What should I do? Will I have to erase my hard disk to get Windows 7 back?

    Read the article

  • dpkg reports error on package icaclient

    - by Photonics1
    I installed the icaclient (it's a client for Citrix) a while back. I don't exactly remember what I did to get it working but it was enervating. I had to install some old packages not even avaiable for ubuntu (12.04) and in the end I used some stuff from old rpms. Anyway the client is more or less working now but I always get a dpkg error when installing or updating something. The (translated) error message is something like: dpkg: Error while processing icaclient:i386 (--configure): subprocess installed post-installation-script return errorcode 2 I just want to tell dpkg to ignore this or remove this post-install-script but I don't know how. Thanks!

    Read the article

  • Choppy, stuttery & sped-up sound after update

    - by Synesso
    My audio has always worked perfectly on this hardware and 12.04. Yesterday I received an update, including a kernel update. Today the sound is periodically stuffed. In youtube, mkv files via VLC and embedded audio in web pages (memrise.com) the sound can become stuttery, sped up or stopped mid play-back. Where can I go to find if this is a known problem, or report it if it is not? Also, can I find a log that will tell me what packages were updated on my machine yesterday?

    Read the article

  • pulseaudio: no microphone configuration

    - by mitsch
    Updated Ubuntu to precise from oneiric on a Dell Inspirion Mini 10 (with an Intel HDA-Soundcard). I can't remember having any issues with the microphone. I didn't need it - I tried ekiga the first time in precise. I couldn't hear any sound in the echo test of ekiga, so I switched to the "System Preferences" and looked for the microphone to boost it. Surprisingly, the microphone input was greyed out - I couldn't mute or unmute, i couldn't even move the volume-slider. On the other hand: I could change the microphone-setting on console with alsamixer, so don't worry about that… :) I just wanted to ask, how to get pulseaudio back to the known, comfortable behaviour. Some newbies won't know the trick to use alsamixer… My soundcard (output of lspci): 00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02) Greets!

    Read the article

  • Getting the front buffer into a gfx mem surface (Dx9)

    - by lapin
    I'm using DirectX 9 to acquire the frontbuffer. There are a couple of ways I know of to get at the front buffer: GetRenderTargetData() GetFrontBufferData() The MSDN page on both of these API calls state that the data is copied from device memory to system memory. I'd like to copy the front buffer surface directly to another graphics memory surface, as I have other manipulations to perform on the acquired surface before returning it to system memory. I'm creating a D3DUSAGE_DYNAMIC texture (gfx mem texture) and calling GetFrontBufferData() to write the front buffer to my textures surface0. Is this valid? Will the operation remain in gfx memory, or will it need to move to system memory and then back to graphics memory? If this is the case, is what I'm trying to achieve possible?

    Read the article

  • Fixing a collision detection bug in Slick2D

    - by Jesse Prescott
    My game has a bug with collision detection. If you go against the wall and tap forward/back sometimes the game thinks the speed you travelled at is 0 and the game doesn't know how to get you out of the wall. My collision detection works by getting the speed you hit the wall at and if it is positive it moves you back, if it is negative it moves you forward. It might help if you download it: https://rapidshare.com/files/1550046269/game.zip Sorry if I explained badly, it's hard to explain. float maxSpeed = 0.3f; float minSpeed = -0.2f; float acceleration = 0.002f; float deacceleration = 0.001f; float slowdownSpeed = 0.002f; float rotateSpeed = 0.08f; static float currentSpeed = 0; boolean up = false; boolean down = false; boolean noKey = false; static float rotate = 0; //Image effect system static String locationCarNormal; static String locationCarFront; static String locationCarBack; static String locationCarBoth; static boolean carFront = false; static boolean carBack = false; static String imageRef; boolean collision = false; public ComponentPlayerMovement(String id, String ScarNormal, String ScarFront, String ScarBack, String ScarBoth) { this.id = id; playerBody = new Rectangle(900/2-16, 700/2-16, 32, 32); locationCarNormal = ScarNormal; locationCarFront = ScarFront; locationCarBack = ScarBack; locationCarBoth = ScarBoth; imageRef = locationCarNormal; } @Override public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException { Input input = gc.getInput(); playerBody.transform(Transform.createRotateTransform(2)); float hip = currentSpeed * delta; float unstuckspeed = 0.05f * delta; if(carBack && !carFront) { imageRef = locationCarBack; ComponentImageRender.updateImage(); } else if(carFront && !carBack) { imageRef = locationCarFront; ComponentImageRender.updateImage(); } else if(carFront && carBack) { imageRef = locationCarBoth; ComponentImageRender.updateImage(); } if(input.isKeyDown(Input.KEY_RIGHT)) { rotate += rotateSpeed * delta; owner.setRotation(rotate); } if(input.isKeyDown(Input.KEY_LEFT)) { rotate -= rotateSpeed * delta; owner.setRotation(rotate); } if(input.isKeyDown(Input.KEY_UP)) { if(!collision) { up = true; noKey = false; if(currentSpeed < maxSpeed) { currentSpeed += acceleration; } MapCoordStorage.mapX += hip * Math.sin(Math.toRadians(rotate)); MapCoordStorage.mapY -= hip * Math.cos(Math.toRadians(rotate)); } else { currentSpeed = 1; } } else if(input.isKeyDown(Input.KEY_DOWN) && !collision) { down = true; noKey = false; if(currentSpeed > minSpeed) { currentSpeed -= slowdownSpeed; } MapCoordStorage.mapX += hip * Math.sin(Math.toRadians(rotate)); MapCoordStorage.mapY -= hip * Math.cos(Math.toRadians(rotate)); } else { noKey = true; if(currentSpeed > 0) { currentSpeed -= deacceleration; } else if(currentSpeed < 0) { currentSpeed += acceleration; } MapCoordStorage.mapX += hip * Math.sin(Math.toRadians(rotate)); MapCoordStorage.mapY -= hip * Math.cos(Math.toRadians(rotate)); } if(entityCollisionWith()) { collision = true; if(currentSpeed > 0 || up) { up = true; currentSpeed = 0; carFront = true; MapCoordStorage.mapX += unstuckspeed * Math.sin(Math.toRadians(rotate-180)); MapCoordStorage.mapY -= unstuckspeed * Math.cos(Math.toRadians(rotate-180)); } else if(currentSpeed < 0 || down) { down = true; currentSpeed = 0; carBack = true; MapCoordStorage.mapX += unstuckspeed * Math.sin(Math.toRadians(rotate)); MapCoordStorage.mapY -= unstuckspeed * Math.cos(Math.toRadians(rotate)); } else { currentSpeed = 0; } } else { collision = false; up = false; down = false; } if(currentSpeed >= -0.01f && currentSpeed <= 0.01f && noKey && !collision) { currentSpeed = 0; } } public static boolean entityCollisionWith() throws SlickException { for (int i = 0; i < BlockMap.entities.size(); i++) { Block entity1 = (Block) BlockMap.entities.get(i); if (playerBody.intersects(entity1.poly)) { return true; } } return false; } }

    Read the article

  • Ubuntu boots into terminal

    - by DKuntz2
    When I turn on my computer (a CR-48), I keep loading tty1. I have tried xstart, and all I get is: Fatal server error: Could not create lock file in /tmp/.tX0-lock When I attempted to make the directory (both sudo and not), I received these two errors: sudo: Can't open /var/lib/sudo/don/tty2: Read-only file system (I've gotten other tty's for different virtual terminals) mkdir: cannot create directory '/tmp/tX0-lock': Read-only file system Before I got to the only terminal state, I had the computer moving a few files from a network server to the computer, I put it to sleep without stopping the transfers, and started the computer again away from my home network, and attempted to stop the transfers, the computer than restarted. Running sudo reboot puts me right back in the virtual terminal, and I can't get into any sort of x application.

    Read the article

  • X crash at login for 1 user

    - by marxjohnson
    User switching wasn't working on my 12.04 LTS desktop (just dropped me to TTY8 with a blinking cursor) so I tried to manually start a second X session by logging in to TTY6 and running startx -- :1. This didn't work either, and my machine locked up. Now when I try to log in as the second user from LightDM, X instantly crashes and I'm thrown back to the login screen. Other accounts on the machine work fine, and it happens for every desktop environment. I've had a poke around in my home directory, but I can't see anything obvious to change/delete to get it working again. Can anyone advise please?

    Read the article

  • How can I superscript a single character throughout my site?

    - by dvn66
    Finishing up development work for a client and they have a late request to superscript every occurrence of the &reg character throughout the site. I merely get by with CSS, but not even sure CSS provides the best solution here. how can I make a global change to every occurrence of a single character in the site copy without going back and adding tags everywhere? if the best solution does involve inserting a span or other tag I'm thinking it could be accomplished with a database query (all the copy is wired up to a CMS).

    Read the article

  • Commenting/In-Code Documentation Styles

    - by Maxpm
    This might be a stupid question, but it's been in the back of my head for a while and I can't find a decent answer anywhere else. I have a teacher who says we should explicitly list each parameter with a description, even if there's only one. This leads to a lot of repetition: double MyFunction(const int MyParam); // Function: MyFunction // Summary: Does stuff with MyParam. // Input: int MyParam - The number to do stuff with. // Output: MyParam with stuff done to it. When writing in-code documentation, how detailed are you?

    Read the article

  • A Change of Seasons...

    - by James Michael Hare
    As some of you already know, today is my last day at Scottrade. It has been a great place to work and I'll miss all the relationships I've formed over the last 5 years immensely! Starting Monday, I will be taking a new position at Amazon.com in Seattle. It should be an exciting new adventure and I look forward to sharing more about my experiences in the days to come! I do intend to continue blogging (after the move settles down) about C# as I'm able, and may mix in some Java as well as I rekindle (Amazon? Kindle? Get it? Okay, that was lame, I know...) my knowledge of the language for my new job responsibilities. I'll miss all the relationships I've developed with the .NET community in St. Louis and the surrounding area, and hope to come back sometime to participate in future Days of .NET conferences, if able! Stay tuned for more updates!

    Read the article

  • how to modify another user's .profile from the recovery console?

    - by Pinpin
    Pretty much everything is in the title, really! ;) I installed a few components to compile go programs, and the last step was to add the go directory to the path. Being a total ubuntu noob, I added the line PATH="Path/To/Folder", after the one that was already there. After the first reboot I can no longer log into ubuntu (the screen black-out for a while and then I'm back to the login screen, and the same chime greets me.) I've been able to boot in recovery mode, open the root's profile with vi, but I cant find my other user's profile, nor pretty much anything.. Any hint would be greatly appreciated! Pascal

    Read the article

  • How to determine the right amount of up front design?

    - by Gian
    Software developers occasionally are called upon to write fairly complex bits of software under tight deadlines. Often, it seems like the quickest thing to do is to simply start coding, and solve the problems as they arise. However, this approach can come back to bite you—often costing time or money in the long run! How do we determine the right amount of up front design work? If your work environment actively discourages you from thinking about things up front, how do you handle that? How can we manage risk if we eschew up-front thinking (by choice or under duress) and figure out the problems as they arise? Does the amount of up front design depend entirely on the size or complexity of the task, or is it based on something else?

    Read the article

  • Unable to mount location, Can't mount file

    - by user116008
    I'm a new user to Ubuntu and I have a problem: I had Windows XP in my computer and I had two partitions: C (for system data) and D(for my personal stuff), then, during the Ubuntu installation I chose the Advanced Settings and formated C partition and left D partition intact, went back and chose Install Ubuntu and replace Windows and it installed fine. The problem is that now I open Nautilus and go to Computer, in there it shows my D partition, 640 Hard Disk, but when I try to mount it displays me a message: "Unable to mount location. Can't mount file". I ask you to explain me step-by-step what I need to do because I'm not an advanced user. My computer specs: 2 GiB RAM, Proccesor Pentium(R) Dual-Core CPU E5400 @ 2.70GHz × 2, Graphics Unknow (It's Nvidia GeForce 220 {1GB} or something), OS type 32-bit, Disk 628.0 GB P.S.: My HDD is internal, I'm not using external Hard Drives. Thank You!!! Mike

    Read the article

  • What's the term describing this system for generating user interfaces?

    - by mjfgates
    So, there's this idea, which you already know: Define the layout of your UI by creating a tree of panels. The leaf nodes on the tree are what we used to call 'controls' way back in the day-- the things that the user interacts with, radio buttons and listboxes and such. The internal nodes are mostly concerned with layout; this kind of panel stacks its child panels vertically, that kind puts its children into a grid, etc. It's COMMON. Most of the UI-generating systems I've seen in the past twenty years are implementations of this, and the ones that aren't borrow from it. What's the word for this idea?

    Read the article

  • Introducing the Metro User Interface on Windows 2012

    - by andywe
    Although I am a big fan of using PowerShell to do many of my server operations, that aspect is well covered by those far more knowledgeable than I, and there is vast information around the web already on that. The new Metro interface, and getting around both Windows 8 and Windows Server 2012 though is relatively new, even for those whop ran the previews. What is this? A blank Desktop!   Where did the start button go? Well, it is still there...sort of. It is hidden, and acts like an auto hidden component that appear only when the mouse is hovered over the lower left corner of the screen. Those familiar with Gnome or OSX can relate this to the "Hot Corners" functions. To get to the start button, hover your mouse in the very left corner of the task bar. Let it sit there a moment, and a small blue square with colored tiles in it called start will appear. Click it. I clicked it and now I have all the tiles..What is this?   Welcome to the Metro interface. This is a much more modern look, and although at first seems weird and cumbersome, I have actually found that it is a bit more extensible, allowing greater organization and customization than the older explorer desktop. If you look closely, you'll see each box represents either a program, or program group. First, a few basics about using the start view. First and foremost, a right mouse click will bring up a bar on the bottom, with an icon towards the right. Notice it is titled “All Apps”. An even easier way in many places is to hover your mouse in the exact opposite corner, in the upper right. A sidebar will open and expose what used to be a widget bar (remember Vista?), and there are options for Search, Start, and Settings.   Ok Great, but where is everything? It’s all there…Click the All Apps icon.   Look better? Notice the scroll bar at the bottom. Move it right..your desktop is sized to your content..so you can have a smaller, or larger amount of programs exposed. Each icon can be secondary clicked (right mouse click for most of us, and an options bar at the bottom, rather than the old small context menu, is opened with some very familiar options.   Notice the top of the Windows Explorer window has some new features. You still have your right mouse click functions, but since the shortcuts for these items already exist..just copy them. There are many ways, but here is a long way to show you more of the interface. 1. Right mouse click a program icon, and select the Open File Location option. 2. Trusty file manager opens…but if you look closely up at top edge of the window, you’ll see a nifty enhancement. An orange colored box that is titled Shortcut Tools and another lavender box Title Application tools. Each of these adds options at the top of the file manager window to make selection easy. Of course, you can still secondary click an item in the listing window too. 3. Click shortcut tools, right click your app shortcut and copy it. Then simply paste it into the desktop outside the File Explorer window Also note some of the newer features. The large icons up top below the menu that has many common operations. The options change as you select each menu item. Well, that’s it for this installment. I hope this helps you out.

    Read the article

  • How best to take a users signature online? (UK law orientated) [closed]

    - by Ben Griffiths
    Not sure if this is the best place to ask, but I can't seem to find any of the other SE sites that would fit better (unless there's a law one?) I'm building an application that will replace an existing paper based form, and this form would normally be signed by the person filling it in. Looking around, it's hard to find a good definitive resource to explain what I can and cannot accept as far as a signature goes. It looks like some UK government online forms accept just your name typed into a box, but I've also heard you should back up with an email - so that process would be type name into a box along with providing an email address, send out an email, then make them click a link within the email to finally complete the verification. Involving email seems very long winded and leaves the system open to spam filters blocking emails, forgotten emails that just sit in inbox's etc. So, does anyone have any knowledge in this department? Personally, I'd love to just get them to type their name into a box and be done with it!

    Read the article

  • Browser support for internal corporate tools

    - by adam
    We are on the verge of a conversion. For years, our company supported only IE for its internal (intranet) home-built tools. Since a few of our users are still on XP, which means IE only goes up to 8... a heavily JS / jQuery site wont even load! We have been in the process of converting to use Chrome instead, to make use of its javascript performance. But, it has now been suggested that we support all common browsers... internally for these tools. Which means more development time to scale-back some of these new applications, more time to test in all browsers, and we are already under staffed. Are there any good informational sites/posts out there, that already make this argument?

    Read the article

  • How do you start modding a game without an editor?

    - by Protector one
    I often come across very impressive mods for PC games that don't have an official editor, other development tools or its source code publicly available. (Take this amazing Multiplayer mod for Just Cause 2, for example.) How do you go about creating mods for such games? I'm not talking about replacing the odd texture or 3D model—that sort of thing seems fairly easy given tools to pry them out of game files and put them back in—but more along the lines of adding game behavior. (Tweaking settings files also doesn't count.) Note that I'm not asking "how to create a mod", I just want to know where to start or where to go to learn.

    Read the article

  • Advanced Charts Part I

    - by Tim Dexter
    Yeeeep! Another series looms ... this one could stretch out a bit and more options become available. Ever needed to generate something similar to these? Beyond what BIP can provide today but there are a few options; one from Oracle and R, now out in the wild and another out there from JFreeChart, open source and therefore almost free. Of course Google is ever present and they have been extending their chart support. I blogged the How for Google charts a while back here. Different ways to integrate but they can all help to close the charting gap for you.

    Read the article

  • Facebook connect vs. OpenID

    - by digit1001
    I just started working on a new project that has a general login feature. One suggestion in a meeting was to look into Facebook Connect or OpenID as an alternative. I'm curious if there's one that has less of a learning curve, or if they can both be used on the same site. Also, when you use either, do you have them initially create the account and just get a verify True/False back that you then use to set up a local user account? I what about forgotten passwords? I'm kind of curious as to best practices for integrated this type of login with a "traditional" one where you store the user info yourself. Thanks, D

    Read the article

  • How to handle jumping up a slope in a runner game?

    - by you786
    In an 2D endless runner, what should happen when the player is running "too fast" up a slope and jumps? For example, in a "normal" case: .O. . __..O_____ . / . / O/ _/ If he is moving to the right slowly enough, he will jump upwards and land on the flat part of the surface. However, if he is moving too fast, the jump will have no effect as his forward motion will bring him back in contact with the slope before he can get high enough to pass over it. When the speed is sufficiently high, there will effectively be no jump. _________ / .O/ O/ _/ Are there any known ways to solve this issue? I know it's physically correct*, but are there techniques that other games use to overcome this in a reasonable manner? As a last resort I'll have to just remove all slopes that are too slanted. *If you constrain the player to never jumping backwards.

    Read the article

< Previous Page | 363 364 365 366 367 368 369 370 371 372 373 374  | Next Page >