Mircea Kitsune [Sat, 29 Oct 2011 10:59:06 +0000 (13:59 +0300)]
Name the info command "mesh", and allow it to list both model, andimation frame, and tags. People can then know the model and frame of any object, which can be helpful with building
Mircea Kitsune [Sat, 29 Oct 2011 10:48:51 +0000 (13:48 +0300)]
Add a command which allows printing tag information of a model to the player
Mircea Kitsune [Sat, 29 Oct 2011 09:48:28 +0000 (12:48 +0300)]
Add an object_info command, which will print some information about the object later on. Also do some other code arrangements
Mircea Kitsune [Fri, 28 Oct 2011 23:46:56 +0000 (02:46 +0300)]
Add a TODO for persisting bones, and code comments explaining how the array storage works
Mircea Kitsune [Fri, 28 Oct 2011 23:26:32 +0000 (02:26 +0300)]
Get storage loading to use arrays too. Attached objects will be saved in storage, but object can also be copied / pasted with their attachments now. Bones are not saved yet, and will be done tomorrow
Mircea Kitsune [Fri, 28 Oct 2011 23:09:41 +0000 (02:09 +0300)]
At the expense of the developer's sanity, get the save system working with arrays. Also fix a code typo that was always there, making the storage get saved each frame. By default, storage is saved every 5 seconds
Mircea Kitsune [Fri, 28 Oct 2011 20:54:39 +0000 (23:54 +0300)]
Add a code comment about how the string works. Clipboard and database seem to be fully functional now. divVerent won't let me tokenize tokens though, so I need to change implementation to something less hackish.
Mircea Kitsune [Fri, 28 Oct 2011 20:47:13 +0000 (23:47 +0300)]
Fix the bug with multiple objects without a model being spawned from storage
Mircea Kitsune [Fri, 28 Oct 2011 20:30:12 +0000 (23:30 +0300)]
Attempt to make loaded child objects attached. Code is buggy any currently breaks storage, so switch to this commit only if you're ok with that
Mircea Kitsune [Fri, 28 Oct 2011 20:23:56 +0000 (23:23 +0300)]
Teach the loading code to load multiple objects from one line, by tokenizing the argument of another token. Objects aren't attached yet however
Mircea Kitsune [Fri, 28 Oct 2011 19:49:02 +0000 (22:49 +0300)]
Attempt to persist attached objects in storage and clipboard, part 1: Store child objects in the same line as their parent object. Objects are separated by the ; symbol.
Mircea Kitsune [Fri, 28 Oct 2011 19:09:34 +0000 (22:09 +0300)]
Don't allow attaching to attachments, for obvious reasons. Also don't persist the movetype of attachments, as it will not work with that I'm going to implement next (restore default physics when detaching an object)
Mircea Kitsune [Fri, 28 Oct 2011 16:11:08 +0000 (19:11 +0300)]
Precache material sounds for objects that are loaded from database
Mircea Kitsune [Fri, 28 Oct 2011 16:04:32 +0000 (19:04 +0300)]
Print more information to the first line of the storage time, including the date and time when the file was last updated
Mircea Kitsune [Fri, 28 Oct 2011 15:48:57 +0000 (18:48 +0300)]
Add a name cvar for storage. That way, people can select between multiple storages. If * is that cvar, storage files are named sandbox/storage_*_mapname.txt
Mircea Kitsune [Fri, 28 Oct 2011 15:36:23 +0000 (18:36 +0300)]
Rename more functions, and add server notification messages for database loading
Mircea Kitsune [Fri, 28 Oct 2011 15:23:12 +0000 (18:23 +0300)]
Actually, do update the database when there are no objects. Otherwise deleting all objects would no longer update it
Mircea Kitsune [Fri, 28 Oct 2011 15:21:42 +0000 (18:21 +0300)]
Rename several functions
Mircea Kitsune [Fri, 28 Oct 2011 15:02:31 +0000 (18:02 +0300)]
Remove an abandoned float
Mircea Kitsune [Fri, 28 Oct 2011 15:01:59 +0000 (18:01 +0300)]
Remove debug code. Saving and loading from text files should be fully functional now. When starting the same map, you will find your objects just as you left them :)
Mircea Kitsune [Fri, 28 Oct 2011 14:58:42 +0000 (17:58 +0300)]
Store empty properties as - in the clipboard. Otherwise stuff breaks, as tokenize_console cannot read between two spaces
Mircea Kitsune [Fri, 28 Oct 2011 14:07:44 +0000 (17:07 +0300)]
Apply the objects in the text file to the world. Partly works, but a few bugs still exist.
Mircea Kitsune [Fri, 28 Oct 2011 13:57:11 +0000 (16:57 +0300)]
Remove object* at the beginning of each line. Hard to do the tokenizing / substringing for that, and it doesn't make any sense either
Mircea Kitsune [Fri, 28 Oct 2011 13:51:14 +0000 (16:51 +0300)]
Basic implementation for reading sandbox storage files. Currently, it just prints each line to the console. Also add an autoload cvar, which will make objects be automatically loaded at startup
Mircea Kitsune [Fri, 28 Oct 2011 13:22:56 +0000 (16:22 +0300)]
Begin each line with object*, where * is the number of the object. Databese saving can be considered complete. Next comes the reading
Mircea Kitsune [Fri, 28 Oct 2011 13:16:37 +0000 (16:16 +0300)]
Add a comment line with information to the save file
Mircea Kitsune [Fri, 28 Oct 2011 13:09:22 +0000 (16:09 +0300)]
Properly store map name in the text file
Mircea Kitsune [Fri, 28 Oct 2011 13:05:58 +0000 (16:05 +0300)]
Don't persist attached objects for now. They would only be spawned at origin '0 0 0' and wouldn't work. We must find some way to fix this eventually!
Mircea Kitsune [Fri, 28 Oct 2011 12:58:27 +0000 (15:58 +0300)]
First part of storing objects to text files, using the autosave feature. Not working properly yet. I also don't know how I'm gonna store attachments to this =(
Mircea Kitsune [Fri, 28 Oct 2011 12:22:43 +0000 (15:22 +0300)]
Merge branch 'master' into mirceakitsune/sandbox
Mircea Kitsune [Fri, 28 Oct 2011 12:22:00 +0000 (15:22 +0300)]
Add cvars for autosave, which will be used by the upcoming storage system
Mircea Kitsune [Fri, 28 Oct 2011 12:21:22 +0000 (15:21 +0300)]
New mutator hook SV_StartFrame, executing globally each server frame. Will be used later on by the sandbox code
Mircea Kitsune [Thu, 27 Oct 2011 22:28:51 +0000 (01:28 +0300)]
Also print information about attaching and detaching objects when g_sandbox_info > 1
Mircea Kitsune [Thu, 27 Oct 2011 22:19:03 +0000 (01:19 +0300)]
Add a help button to the menu, and size the menu properly
Mircea Kitsune [Thu, 27 Oct 2011 22:03:25 +0000 (01:03 +0300)]
Remove a useless spacing. IT DIDN'T LOOK PERFECT, THE CODE WAS FLAWED!
Mircea Kitsune [Thu, 27 Oct 2011 22:00:26 +0000 (01:00 +0300)]
Remove code for spawning items. I didn't like its implementation, it would only work for weapons, and the focus of the sandbox is currently on objects
Mircea Kitsune [Thu, 27 Oct 2011 21:58:25 +0000 (00:58 +0300)]
g_sandbox_info - Print information about spawned / removed objects when 1, and also about edited objects when 2
Mircea Kitsune [Thu, 27 Oct 2011 21:47:28 +0000 (00:47 +0300)]
Divide sandbox messages in three categories, and color each accordingly: INFO (tells unimportant stuff to the player), WARNING (tells important stuff to the player) and server (information about spawned objects printed to the server when g_sandbox_info is enabled)
Mircea Kitsune [Thu, 27 Oct 2011 21:32:17 +0000 (00:32 +0300)]
If removing an object that contains attachments, detach child objects first
Mircea Kitsune [Thu, 27 Oct 2011 21:28:12 +0000 (00:28 +0300)]
Rename action_object commands to object_action, because that's more correct
Mircea Kitsune [Thu, 27 Oct 2011 21:22:14 +0000 (00:22 +0300)]
Merge duplicate_object_copy and duplicate_object_paste into a single duplicate_object command, with copy and paste as arguments
Mircea Kitsune [Thu, 27 Oct 2011 21:09:09 +0000 (00:09 +0300)]
New command: claim_object. If the player has edit rights over an object (either free editing is enabled, or the object was spawned by a player without an UID), the player can claim the object as his with this command.
Mircea Kitsune [Thu, 27 Oct 2011 20:52:22 +0000 (23:52 +0300)]
Unfortunately, my previous change makes it impossible to track the object count of each player. Therefore, turn the object limit into a global float, and default it to 1000. My only concern about this is that a griefer can spawn objects up to the limit, and prevent other players from building on the server due to that. Not an urgent problem, but to be given thought.
Mircea Kitsune [Thu, 27 Oct 2011 20:46:01 +0000 (23:46 +0300)]
Since objects are going to be persisted, no longer set the owner as an entity. Object owner is set via player UID (key_0.d0si file). If the player does not have a valid UID, his objects are spawned without an owner, and therefore can be edited by anyone (even if g_sandbox_editor_free is disabled).
Mircea Kitsune [Thu, 27 Oct 2011 20:18:11 +0000 (23:18 +0300)]
Remove forgotten code from old material system
Mircea Kitsune [Thu, 27 Oct 2011 20:07:10 +0000 (23:07 +0300)]
Fix a material bug in the clipboard
Mircea Kitsune [Thu, 27 Oct 2011 20:01:25 +0000 (23:01 +0300)]
Allow the menu to specify material as a text string
Mircea Kitsune [Thu, 27 Oct 2011 19:56:37 +0000 (22:56 +0300)]
Allow the edit_object command to receive a property without a value, as we now use that to set no material
Mircea Kitsune [Thu, 27 Oct 2011 19:54:41 +0000 (22:54 +0300)]
Get the new material system working. The material slider in the menu will not work for now.
Mircea Kitsune [Thu, 27 Oct 2011 19:38:48 +0000 (22:38 +0300)]
Don't hard code materials. This will allow server admins to create their own materials only by adding particles and sounds, without having to recompile the code. This commit breaks functionality for now
Mircea Kitsune [Thu, 27 Oct 2011 17:19:41 +0000 (20:19 +0300)]
Rename cvars for object limits and free editing
Mircea Kitsune [Thu, 27 Oct 2011 17:17:07 +0000 (20:17 +0300)]
Only being allowed to edit your own objects is now a default behavior
Mircea Kitsune [Thu, 27 Oct 2011 17:15:11 +0000 (20:15 +0300)]
Add a cvar which allows players to edit each other's objects. Disabled by default, and only to be used on servers where the people know each other.
Mircea Kitsune [Thu, 27 Oct 2011 17:07:26 +0000 (20:07 +0300)]
Increase / decrease the object count of the owner, not of the person spawning / removing objects. As later on, we might have support for removing objects using other means.
Mircea Kitsune [Thu, 27 Oct 2011 17:00:56 +0000 (20:00 +0300)]
Add a maximum number of objects each player can place at a time. By default, players may have up to 100 objects
Mircea Kitsune [Thu, 27 Oct 2011 14:44:44 +0000 (17:44 +0300)]
Sandbox menu: Address the object the player is looking at as *, which should make things easier to understand
Mircea Kitsune [Thu, 27 Oct 2011 14:39:30 +0000 (17:39 +0300)]
Make the attachment functions in the menu a bit more clear
Mircea Kitsune [Thu, 27 Oct 2011 14:32:08 +0000 (17:32 +0300)]
Fix a code typo
Mircea Kitsune [Thu, 27 Oct 2011 14:30:45 +0000 (17:30 +0300)]
Add attachment tools to the sandbox menu
Mircea Kitsune [Thu, 27 Oct 2011 14:19:11 +0000 (17:19 +0300)]
Document attachments in the help system
Mircea Kitsune [Thu, 27 Oct 2011 14:12:36 +0000 (17:12 +0300)]
Apply the previous physics of the object once it's detached, instead of reverting to default MOVETYPE_TOSS
Mircea Kitsune [Thu, 27 Oct 2011 14:02:18 +0000 (17:02 +0300)]
Change some things in the attachment system
Mircea Kitsune [Thu, 27 Oct 2011 13:45:20 +0000 (16:45 +0300)]
Add information messages to the remove command as well
Mircea Kitsune [Thu, 27 Oct 2011 13:42:44 +0000 (16:42 +0300)]
If the object was attached, no longer keep it scheduled for attachment
Mircea Kitsune [Thu, 27 Oct 2011 13:41:00 +0000 (16:41 +0300)]
Add basic warnings and preventions to the attachment commands
Mircea Kitsune [Thu, 27 Oct 2011 13:23:33 +0000 (16:23 +0300)]
Fix detaching of objects. Attached objects are no longer traced (and would be impossible to edit), so the detach function addresses the parent instead. When used, all objects attached to it get detached.
Mircea Kitsune [Thu, 27 Oct 2011 13:11:14 +0000 (16:11 +0300)]
Get object attachment working for the most part
Mircea Kitsune [Thu, 27 Oct 2011 12:47:35 +0000 (15:47 +0300)]
First step in implementing object to object attachment. Only partly working and buggy so far
Mircea Kitsune [Thu, 27 Oct 2011 12:13:48 +0000 (15:13 +0300)]
Calculate impact speed starting from minimum velocity, not actual velocity. Also fix particles so that their count is reduced / increased properly.
Mircea Kitsune [Thu, 27 Oct 2011 11:57:13 +0000 (14:57 +0300)]
Change the way material intensity is calculated, to account the velocity of the object hitting it as well and simplify the code
Rudolf Polzer [Thu, 27 Oct 2011 11:32:43 +0000 (13:32 +0200)]
fix missing strzoning in menu_cmd curl --cvar
Mircea Kitsune [Thu, 27 Oct 2011 10:54:57 +0000 (13:54 +0300)]
Particle count should always be a whole number. Also add a code comment
Mircea Kitsune [Thu, 27 Oct 2011 10:48:31 +0000 (13:48 +0300)]
Make particle count and intensity of impact sound depend on the impact speed
Mircea Kitsune [Thu, 27 Oct 2011 10:30:39 +0000 (13:30 +0300)]
Particles for wood and flesh impacts
Mircea Kitsune [Thu, 27 Oct 2011 10:03:05 +0000 (13:03 +0300)]
Particle effects for metal and stone impacts
Mircea Kitsune [Thu, 27 Oct 2011 09:50:05 +0000 (12:50 +0300)]
No material by default. Feels most correct
Mircea Kitsune [Thu, 27 Oct 2011 09:47:15 +0000 (12:47 +0300)]
Properly name the color buttons
Rudolf Polzer [Thu, 27 Oct 2011 08:28:42 +0000 (10:28 +0200)]
handle an entity being antilag-takenback multiple times
Rudolf Polzer [Thu, 27 Oct 2011 08:01:44 +0000 (10:01 +0200)]
set proper colormap value for respawn ghosts
Rudolf Polzer [Thu, 27 Oct 2011 08:00:48 +0000 (10:00 +0200)]
CopyBody: unlink the color from the player slot when cloning
Rudolf Polzer [Thu, 27 Oct 2011 07:35:27 +0000 (09:35 +0200)]
Merge remote-tracking branch 'origin/atheros/secret'
Conflicts:
qcsrc/server/progs.src
Mircea Kitsune [Wed, 26 Oct 2011 21:30:34 +0000 (00:30 +0300)]
Shorten save code
Mircea Kitsune [Wed, 26 Oct 2011 21:27:45 +0000 (00:27 +0300)]
Make the clipboard work again, at the expense of not implementing it exactly how I wanted initially
Mircea Kitsune [Wed, 26 Oct 2011 21:23:09 +0000 (00:23 +0300)]
Attempt to separate saving and loading into separate functions, so they can be used for other forms of storage apart from the clipboard later on. Currently doesn't work, and brakes the clipboard.
Mircea Kitsune [Wed, 26 Oct 2011 16:19:44 +0000 (19:19 +0300)]
Limit impact execution time to avoid sounds playing each frame. Impact sounds can still be triggered every 0.1 second... but to be honest, that sounds kinda cool B-)
Mircea Kitsune [Wed, 26 Oct 2011 16:09:32 +0000 (19:09 +0300)]
Require a minimum velocity for material effects, on either the object or the entity colliding with it
Mircea Kitsune [Wed, 26 Oct 2011 15:47:07 +0000 (18:47 +0300)]
Fix menu name for flesh
Mircea Kitsune [Wed, 26 Oct 2011 15:39:44 +0000 (18:39 +0300)]
Add flesh as a new material. Enjoy spawning player meshes and listening to them crunch against the walls :D
Mircea Kitsune [Wed, 26 Oct 2011 15:35:00 +0000 (18:35 +0300)]
Body impact / crunch sounds. For darker pleasures :P
Mircea Kitsune [Wed, 26 Oct 2011 14:49:01 +0000 (17:49 +0300)]
Improve the stone impact sounds a bit
Mircea Kitsune [Wed, 26 Oct 2011 14:30:03 +0000 (17:30 +0300)]
Name all impact sound files accordingly
Mircea Kitsune [Wed, 26 Oct 2011 14:25:26 +0000 (17:25 +0300)]
Add the no material setting to the menu, but don't default it
Mircea Kitsune [Wed, 26 Oct 2011 14:24:24 +0000 (17:24 +0300)]
Add stone and wood sounds to the code. Also no need to return if material isn't set.
Mircea Kitsune [Wed, 26 Oct 2011 14:21:48 +0000 (17:21 +0300)]
Stone impact sounds by stephan. http://www.pdsounds.org/sounds/assorted_gravel_rock_and_stones
Samual [Wed, 26 Oct 2011 14:12:57 +0000 (10:12 -0400)]
Fix some broken things with hud configs (wtf th you didn't add the cvars to hud_config.qc or defaultXonotic.cfg?)
Mircea Kitsune [Wed, 26 Oct 2011 14:04:56 +0000 (17:04 +0300)]
Wood impact sounds, by Independent.nu. http://opengameart.org/content/35-wooden-crackshitsdestructions
Mircea Kitsune [Wed, 26 Oct 2011 13:44:16 +0000 (16:44 +0300)]
Allow objects without a material
Mircea Kitsune [Wed, 26 Oct 2011 13:39:41 +0000 (16:39 +0300)]
Metal impact sounds. There will be 5 sounds per material.
Mircea Kitsune [Wed, 26 Oct 2011 13:39:18 +0000 (16:39 +0300)]
Object materials. They influence what sounds are generated when the object impacts a surface, as well as particles that will be generated. Main material types will be: metal, stone, wood. Currently, only metal has been fully implemented.
Mircea Kitsune [Wed, 26 Oct 2011 12:49:56 +0000 (15:49 +0300)]
Adjust defaults. Also persist all menu settings (seta), which should make it easier for some players I think