Jump to content
SubSpace Forum Network

Recommended Posts

Posted

I get that error as a messagebox, with the red X icon

EDIT: if I just enter the zone and leave, no error, it seems... but if I get in a ship, then esc-q, boom

 

 

and emm... you're right, black IS transparent... some of the screenobjects weren't, though... but I guess it's just these particular ones that are messed up (?objon 2 I think, the letters appearing near the red/green crosshairs)

 

But yeah... didn't bother noticing that all the others were fine, nevermind that blum.gif

  • Replies 97
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted

if you use jpeg images black is often compressed as off-black, which is not transparent. This is consistent with Continuum though.

 

Hmm, no I never get that message box.

Posted

So how much can we optimize lvz files? How about giving the option to allow all the lvz / lvl files as dload upon entering, or manually dloading like nostalgic ss. Infantry online and Cosmic Rift does dloading files before going into the zone. Good idea.

 

 

Also as far as compressions, how much can we compress an image in lvz to make it so small with huge images? Can we use animated gifs or something of that nature?

Posted

lvz files compress with the same algorithm as zip files (zlib)

also, if you use png's or other already-compressed image format, lvz won't compress it much more, or can even leave it as it is

animated gifs would be a nice addition

 

and emm... lvz's are downloaded as you enter an arena... not sure how else it could be.

 

 

@bak: the thing is, these screenobject letters were made from some font.bm2 file, split with my animation to images program, and saved as png's... just checked and they are indeed full black

 

Try it out, get in there, and do ?objon 1

watch the C at the center (stays for 5 seconds), it appears non-transparent ô.o

Posted

I mean when entering a zone to dload all the contents first.

 

oh and I wonder if we can do a like area of black shades and make them all transparent (option for each lvz) so we can use jpegs and they wont look as shitty and save a lot of room

Posted (edited)

Obvious feature requests (probably already done):

 

Ability to set percent of transparency/opacity.

Ability to specify which color is transparent (useful mostly for BMP and JPG).

Ability to set whether it is rendered 'additive' or not.

Ability to use animated GIFs.

 

For event triggers like activating a certain object/LVZ/image when someone dies -- the ability to set the animation relative to ships. For example: (1) I have an animation graphic that displays a shockwave, (2) it is a screen object.

When someone other than ME gets killed on my screen, I want this animation graphic to play over THEIR ship.

 

How about an option/parameter for screen objects where their x,y coordinate would be relative to (1) self/local ship, (2) teammates, and/or (3) enemies. What if I want this graphic to play only on friendly ships and my own ship? Or what if I want it to play on everyone's ship except mine? How about just enemy ships? I should be able to specify any combination of these three as if flags; the x,y coordinate would be relative to the size of that player's ship (ie. standard size is 32x32, and it would base the x,y coordinates off of a 32x32 grid).

 

One example of play: my ship explosion shockwave might be white colored, whereas friendly ships would have yellow-colored shockwaves, and enemy ships would have red-colored shockwaves. Three unique graphic images would be involved (white, yellow, and red versions of the same render). These would play when they die.

Edited by L.C.
Posted

cool ideas. for the first two you can use an alpha channel in png and it should work.

 

I'm not sure about the additive one, is that the same as having partial transparency? If so, using an alpha channel should be able to solve that.

 

I think it would be a good idea to be able to have LVZ relative to ships. Let's figure out what options we should have.

 

Options:

Ship team: self / friendly / enemy

Ship type: warbird / jav / ...

Ship rotation amount

 

Anything else??

Posted

IMO there should be no constrictions with options to standard ss replacement gfx and mapobjects/screenobjects

 

OKAY SO LETS SAY I make a friggen 3D super awesome ship that when prized,needs to show more boosters on the wings to make it faster in-game, so i want to make a ship#.bm2 a servercontrolled object.

 

Things like that, oh and if someone does a public objon, it should be stored in memory to have the packet sent to a player entering an arena. It's a stupid thing priitk never fixed or put into the continuum code.

Posted

What about being able to specify an image relative to (a) specific player(s), as opposed to only self/team/nme. As in, the server sends the player id and lvz animation specification to current players and entering players, and the client does the displaying. It would save the trouble for the server having to specify the image location relative to a certain player's position on the map and refresh it all the time (giving it a laggy appearance).

 

Edit: I like Jab's idea too, basically being able to change and override graphics on the spot (such as ship appearance, exhaust, flags, etc.), without having to force players into another predefined ship or without forcing the arena to recycle.

Posted
if someone does a public objon, it should be stored in memory to have the packet sent to a player entering an arena.
That's a server-side thing... discretion zones already use asss :D
Posted
if someone does a public objon, it should be stored in memory to have the packet sent to a player entering an arena.
That's a server-side thing... discretion zones already use asss :D

yeah... but I kind of agree that it should be a "stock" option to be able to have persistent public objon's... Like if in a module you do objon(id), well the function would look more like objon(Target* target, int id, bool persistent)

 

 

 

For additional lvz options... I'm wondering if it's worth it to expand the LVZ format, or have it in a text format in the .conf files, like animations... basically, this would mean: you dump files in .lvz or .zip files, and the .ini file is actually in the server settings directly. This would eliminate every known lvz restriction, eliminate the need of annoying lvz building, eliminate the need of updating lvz builders and debuilders, ...

 

Yeah.

Posted
ASSS already remembers the state of arena wide objects, and sends them to players upon entering. Whether this is a bug or a feature is up for debate, but that's how it is at present.
Posted
Well, for example: my "Gravitron" event has a machine graphic that spins when on, and a screen behind it on when game is running, and someone comming in mid-game will have screwed up gfx. (even though the bot can do this it should not really have to.) I believe that the client/server should store temporary objon data to send the same packets to entering players that other players got earlier (by only publicly sent *objons.)
Posted

Well, for example: my "Gravitron" event has a machine graphic that spins when on, and a screen behind it on when game is running, and someone comming in mid-game will have screwed up gfx. (even though the bot can do this it should not really have to.) I believe that the client/server should store temporary objon data to send the same packets to entering players that other players got earlier (by only publicly sent *objons.)

Read the last 2 posts before yours :(
  • 3 months later...
Posted

Trying to debug why it crashes when some animations expire or are turned off via ?objoff;

I noticed the animation-expired callback creates some major overhead... Whenever a lvz-related animation expires, I need to go through the list of all trigger-able objects and see if expiredanim == animation, and if it is, set animation to NULL so we don't have an invalid pointer.

 

The problem is, when you thrust, there are like 20 animations a second that pop up, and eventually expire... Same for bullet trails and all that.

 

So... either I:

-Add a list of CURRENTLY ACTIVE lvz animations, so I don't have to scroll through every lvz object that can be triggered...

Currently I have:

//One list per known display mode, plus a list for undefined modes
list<LvzObject> objectsLists[LVZ_DisplayModesCount + 1];

I guess I'd need a list or something to put the active objects in, or a list> and get rid of the Animation* field in my LvzObject struct ? I'm not pro with STL stuff yet...

 

-Only go through the whole process for the callbacks we actually care about... Even if only the active animations are searched, it could mean a lot of useless overhead when the screen is filled with people firing a bunch of stuff in a zone with a lot of graphics. Some way to distinguish lvz animations expiring from bullet trails and other animations would work, but the 'purpose' of the animation would have to be specified when it is created.

Posted

Ok... I added a list for active animations.

 

 

I used to get a crash as soon as a screenobject attached to the weapon icons would expire. Now it doesn't crash on that particular event, but it's still VERY unstable. If I change ship, it crashes; if I ?objon/?objoff a couple of times, it ends up crashing. I have no idea what's up with it...

 

I committed my current version (r196), AFAIK I did fix a few things I had done earlier (what's up with that 'curY / 10000' thing in the weapons display? my Y values were off by a factor of 10000 http://www.ssforum.net/public/style_emoticons/default/blum.gif)

 

What the crash says:

SEGFAULT - debug information printed to bin/errorlog.txt

ERROR: Incomplete cleanup, data is not null, type = 'TYPE_TICK' in function ~AuditableEvent, on line

1891 in file ..\Audit.cpp

ERROR: Suppressing further such warnings; this error may happen when Discretion unexpectedly quits (

but is unlikely the cause of the issue). in function ~AuditableEvent, on line 1892 in file ..\Audit.

cpp

 

And the errolog.txt: (near the end I noticed some NUL characters in there, had to paste in 2 times, though that has nothing to do with the crash)

 

 

----------------------------------------------

SEGFAULT4-19-2010 11:46:51 PM

Trace Messages (most recent on top):

Finished DoCallback for 'Pre-render'

_DoCallback Done calling Pre-render in module Audit-3

_DoCallback calling Pre-render in module Audit-3

_DoCallback Done calling Pre-render in module FileTransfer-1

_DoCallback calling Pre-render in module FileTransfer-1

_DoCallback Done calling Pre-render in module Flash-1

_DoCallback calling Pre-render in module Flash-1

_DoCallback Done calling Pre-render in module Net-11

_DoCallback calling Pre-render in module Net-11

_DoCallback Done calling Pre-render in module WeaponDisplay-4

_DoCallback calling Pre-render in module WeaponDisplay-4

_DoCallback Done calling Pre-render in module Animations-13

_DoCallback calling Pre-render in module Animations-13

_DoCallback Done calling Pre-render in module SelfShip-13

_DoCallback calling Pre-render in module SelfShip-13

_DoCallback Done calling Pre-render in module Shipman-14

_DoCallback calling Pre-render in module Shipman-14

_DoCallback Done calling Pre-render in module Chat-2

_DoCallback calling Pre-render in module Chat-2

_DoCallback Done calling Pre-render in module EscapeBox-3

_DoCallback calling Pre-render in module EscapeBox-3

_DoCallback Done calling Pre-render in module Textbox-4

_DoCallback calling Pre-render in module Textbox-4

_DoCallback Done calling Pre-render in module Level-6

_DoCallback calling Pre-render in module Level-6

Started DoCallback for 'Pre-render', 12 functions to call

Finished DoCallback for 'MakeScreenLocation'

_DoCallback Done calling MakeScreenLocation in module Animations-13

Finished DoCallback for 'AnimationsTicked'

_DoCallback Done calling AnimationsTicked in module SelfShip-13

_DoCallback calling AnimationsTicked in module SelfShip-13

Started DoCallback for 'AnimationsTicked', 1 functions to call

_DoCallback calling MakeScreenLocation in module Animations-13

_DoCallback Done calling MakeScreenLocation in module SelfShip-13

Finished DoCallback for 'UpdateParticles'

_DoCallback Done calling UpdateParticles in module Particles-11

_DoCallback calling UpdateParticles in module Particles-11

Started DoCallback for 'UpdateParticles', 1 functions to call

Finished DoCallback for 'UpdateShips'

_DoCallback Done calling UpdateShips in module Audit-3

Finished DoCallback for 'LimitShipVelocity'

_DoCallback Done calling LimitShipVelocity in module oldlvl

_DoCallback calling LimitShipVelocity in module oldlvl

Started DoCallback for 'LimitShipVelocity', 1 functions to call

_DoCallback calling UpdateShips in module Audit-3

_DoCallback Done calling UpdateShips in module Shipman-14

Finished DoCallback for 'InWormhole'

_DoCallback Done calling InWormhole in module Audit-3

_DoCallback calling InWormhole in module Audit-3

_DoCallback Done calling InWormhole in module Particles-11

_DoCallback calling InWormhole in module Particles-11

_DoCallback Done calling InWormhole in module SelfShip-13

_DoCallback calling InWormhole in module SelfShip-13

Started DoCallback for 'InWormhole', 3 functions to call

_DoCallback calling UpdateShips in module Shipman-14

Started DoCallback for 'UpdateShips', 2 functions to call

Finished DoCallback for 'LimitShipVelocity'

_DoCallback Done calling LimitShipVelocity in module oldlvl

_DoCallback calling LimitShipVelocity in module oldlvl

Started DoCallback for 'LimitShipVelocity', 1 functions to call

Finished DoCallback for 'IteratedShipPosition'

_DoCallback Done calling IteratedShipPosition in module oldlvl

_DoCallback calling IteratedShipPosition in module oldlvl

Started DoCallback for 'IteratedShipPosition', 1 functions to call

_DoCallback calling MakeScreenLocation in module SelfShip-13

_DoCallback Done calling MakeScreenLocation in module SpecMode-2

_DoCallback calling MakeScreenLocation in module SpecMode-2

Started DoCallback for 'MakeScreenLocation', 3 functions to call

_DoCallback calling CB_MainLoop in module Graphics-20

Started DoCallback for 'CB_MainLoop', 3 functions to call

Started Iteration, dif = 15

 

Finished Iteration

Finished DoCallback for 'CB_MainLoop'

_DoCallback Done calling CB_MainLoop in module Timers-3

_DoCallback calling CB_MainLoop in module Timers-3

_DoCallback Done calling CB_MainLoop in module Net-11

_DoCallback calling CB_MainLoop in module Net-11

_DoCallback Done calling CB_MainLoop in module Graphics-20

Finished DoCallback for 'Pre-render'

_DoCallback Done calling Pre-render in module Audit-3

_DoCallback calling Pre-render in module Audit-3

_DoCallback Done calling Pre-render in module FileTransfer-1

_DoCallback calling Pre-render in module FileTransfer-1

_DoCallback Done calling Pre-render in module Flash-1

_DoCallback calling Pre-render in module Flash-1

_DoCallback Done calling Pre-render in module Net-11

_DoCallback calling Pre-render in module Net-11

_DoCallback Done calling Pre-render in module WeaponDisplay-4

_DoCallback calling Pre-render in module WeaponDisplay-4

_DoCallback Done calling Pre-render in module Animations-13

_DoCallback calling Pre-render in module Animations-13

_DoCallback Done calling Pre-render in module SelfShip-13

_DoCallback calling Pre-render in module SelfShip-13

_DoCallback Done calling Pre-render in module Shipman-14

_DoCallback calling Pre-render in module Shipman-14

_DoCallback Done calling Pre-render in module Chat-2

_DoCallback calling Pre-render in module Chat-2

_DoCallback Done calling Pre-render in module EscapeBox-3

_DoCallback calling Pre-render in module EscapeBox-3

_DoCallback Done calling Pre-render in module Textbox-4

_DoCallback calling Pre-render in module Textbox-4

_DoCallback Done calling Pre-render in module Level-6

_DoCallback calling Pre-render in module Level-6

Started DoCallback for 'Pre-render', 12 functions to call

Finished DoCallback for 'MakeScreenLocation'

_DoCallback Done calling MakeScreenLocation in module Animations-13

Finished DoCallback for 'AnimationsTicked'

_DoCallback Done calling AnimationsTicked in module SelfShip-13

_DoCallback calling AnimationsTicked in module SelfShip-13

Started DoCallback for 'AnimationsTicked', 1 functions to call

_DoCallback calling MakeScreenLocation in module Animations-13

_DoCallback Done calling MakeScreenLocation in module SelfShip-13

Finished DoCallback for 'UpdateParticles'

_DoCallback Done calling UpdateParticles in module Particles-11

_DoCallback calling UpdateParticles in module Particles-11

Started DoCallback for 'UpdateParticles', 1 functions to call

Finished DoCallback for 'UpdateShips'

_DoCallback Done calling UpdateShips in module Audit-3

Finished DoCallback for 'LimitShipVelocity'

_DoCallback Done calling LimitShipVelocity in module oldlvl

_DoCallback calling LimitShipVelocity in module oldlvl

Started DoCallback for 'LimitShipVelocity', 1 functions to call

_DoCallback calling UpdateShips in module Audit-3

_DoCallback Done calling UpdateShips in module Shipman-14

_DoCallback calling UpdateShips in module Shipman-14

Started DoCallback for 'UpdateShips', 2 functions to call

Finished DoCallback for 'LimitShipVelocity'

_DoCallback Done calling LimitShipVelocity in module oldlvl

_DoCallback calling LimitShipVelocity in module oldlvl

Started DoCallback for 'LimitShipVelocity', 1 functions to call

Finished DoCallback for 'IteratedShipPosition'

_DoCallback Done calling IteratedShipPosition in module oldlvl

_DoCallback calling IteratedShipPosition in module oldlvl

Started DoCallback for 'IteratedShipPosition', 1 functions to call

_DoCallback calling MakeScreenLocation in module SelfShip-13

_DoCallback Done calling MakeScreenLocation in module SpecMode-2

_DoCallback calling MakeScreenLocation in module SpecMode-2

Started DoCallback for 'MakeScreenLocation', 3 functions to call

_DoCallback calling CB_MainLoop in module Graphics-20

Started DoCallback for 'CB_MainLoop', 3 functions to call

Finished DoCallback for 'CB_MainLoop'

_DoCallback Done calling CB_MainLoop in module Timers-3

_DoCallback calling CB_MainLoop in module Timers-3

_DoCallback Done calling CB_MainLoop in module Net-11

_DoCallback calling CB_MainLoop in module Net-11

_DoCallback Done calling CB_MainLoop in module Graphics-20

Finished DoCallback for 'MakeScreenLocation'

_DoCallback Done calling MakeScreenLocation in module Animations-13

Finished DoCallback for 'AnimationsTicked'

_DoCallback Done calling AnimationsTicked in module SelfShip-13

_DoCallback calling AnimationsTicked in module SelfShip-13

Started DoCallback for 'AnimationsTicked', 1 functions to call

_DoCallback calling MakeScreenLocation in module Animations-13

_DoCallback Done calling MakeScreenLocation in module SelfShip-13

Finished DoCallback for 'UpdateParticles'

_DoCallback Done calling UpdateParticles in module Particles-11

_DoCallback calling UpdateParticles in module Particles-11

Started DoCallback for 'UpdateParticles', 1 functions to call

Finished DoCallback for 'UpdateShips'

_DoCallback Done calling UpdateShips in module Audit-3

Finished DoCallback for 'LimitShipVelocity'

_DoCallback Done calling LimitShipVelocity in module oldlvl

_DoCallback calling LimitShipVelocity in module oldlvl

Started DoCallback for 'LimitShipVelocity', 1 functions to call

_DoCallback calling UpdateShips in module Audit-3

_DoCallback Done calling UpdateShips in module Shipman-14

Finished DoCallback for 'InWormhole'

_DoCallback Done calling InWormhole in module Audit-3

_DoCallback calling InWormhole in module Audit-3

_DoCallback Done calling InWormhole in module Particles-11

_DoCallback calling InWormhole in module Particles-11

_DoCallback Done calling InWormhole in module SelfShip-13

_DoCallback calling InWormhole in module SelfShip-13

Started DoCallback for 'InWormhole', 3 functions to call

_DoCallback calling UpdateShips in module Shipman-14

Started DoCallback for 'UpdateShips', 2 functions to call

Finished DoCallback for 'LimitShipVelocity'

_DoCallback Done calling LimitShipVelocity in module oldlvl

_DoCallback calling LimitShipVelocity in module oldlvl

Started DoCallback for 'LimitShipVelocity', 1 functions to call

Finished DoCallback for 'IteratedShipPosition'

_DoCallback Done calling IteratedShipPosition in module oldlvl

_DoCallback calling IteratedShipPosition in module oldlvl

Started DoCallback for 'IteratedShipPosition', 1 functions to call

_DoCallback calling MakeScreenLocation in module SelfShip-13

_DoCallback Done calling MakeScreenLocation in module SpecMode-2

_DoCallback calling MakeScreenLocation in module SpecMode-2

Started DoCallback for 'MakeScreenLocation', 3 functions to call

_DoCallback calling CB_MainLoop in module Graphics-20

Started DoCallback for 'CB_MainLoop', 3 functions to call

Started Iteration, dif = 16

 

Finished Iteration

Finished DoCallback for 'CB_SDLDoEvent'

_DoCallback Done calling CB_SDLDoEvent in module Mouse-2

_DoCallback calling CB_SDLDoEvent in module Mouse-2

_DoCallback Done calling CB_SDLDoEvent in module Chat-2

Finished DoCallback for 'PreventTyping'

_DoCallback Done calling PreventTyping in module EscapeBox-3

_DoCallback calling PreventTyping in module EscapeBox-3

Started DoCallback for 'PreventTyping', 1 functions to call

_DoCallback calling CB_SDLDoEvent in module Chat-2

_DoCallback Done calling CB_SDLDoEvent in module KeyControls-1

Finished DoCallback for 'InternalCommand'

_DoCallback Done calling InternalCommand in module Lvz-1

Done Processing Packet of Type 0x35, core = 0, len = 3

Processing Packet of Type 0x35, core = 0, len = 3

_DoCallback calling InternalCommand in module Lvz-1

_DoCallback Done calling InternalCommand in module Audit-3

_DoCallback calling InternalCommand in module Audit-3

_DoCallback Done calling InternalCommand in module Particles-11

_DoCallback calling InternalCommand in module Particles-11

_DoCallback Done calling InternalCommand in module Net-11

_DoCallback calling InternalCommand in module Net-11

_DoCallback Done calling InternalCommand in module Utilities-10

_DoCallback calling InternalCommand in module Utilities-10

_DoCallback Done calling InternalCommand in module SelfShip-13

_DoCallback calling InternalCommand in module SelfShip-13

_DoCallback Done calling InternalCommand in module MainSDL

_DoCallback calling InternalCommand in module MainSDL

Started DoCallback for 'InternalCommand', 7 functions to call

_DoCallback calling CB_SDLDoEvent in module KeyControls-1

Started DoCallback for 'CB_SDLDoEvent', 3 functions to call

Finished DoCallback for 'CB_MainLoop'

_DoCallback Done calling CB_MainLoop in module Timers-3

_DoCallback calling CB_MainLoop in module Timers-3

_DoCallback Done calling CB_MainLoop in module Net-11

_DoCallback calling CB_MainLoop in module Net-11

_DoCallback Done calling CB_MainLoop in module Graphics-20

Finished DoCallback for 'Pre-render'

_DoCallback Done calling Pre-render in module Audit-3

_DoCallback calling Pre-render in module Audit-3

_DoCallback Done calling Pre-render in module FileTransfer-1

_DoCallback calling Pre-render in module FileTransfer-1

_DoCallback Done calling Pre-render in module Flash-1

_DoCallback calling Pre-render in module Flash-1

_DoCallback Done calling Pre-render in module Net-11

_DoCaNULNULNULNULck calling Pre-render in module Net-11 <---My text editor showed these as NULL characters, for some reason these 4 didn't get through properly it seems

_DoCallback Done calling Pre-render in module WeaponDisplay-4

_DoCallback calling Pre-render in module WeaponDisplay-4

_DoCallback Done calling Pre-render in module Animations-13

_DoCallback calling Pre-render in module Animations-13

_DoCallback Done calling Pre-render in module SelfShip-13

_DoCallback calling Pre-render in module SelfShip-13

_DoCallback Done calling Pre-render in module Shipman-14

_DoCallback calling Pre-render in module Shipman-14

_DoCallback Done calling Pre-render in module Chat-2

_DoCallback calling Pre-render in module Chat-2

_DoCallback Done calling Pre-render in module EscapeBox-3

_DoCallback calling Pre-render in module EscapeBox-3

_DoCallback Done calling Pre-render in module Textbox-4

 

 

  • 1 month later...
Posted
I've fixed the eclipse project files so the files should compile to the correct locations. The problem was that they had added a "prefix" field, and then they would parse the "name" field and remove path data. I went through all the projects and moved the path information from the name field to the prefix field and it seemed to work. Also removed absolute references to directories in your computer Sam (bakAedGuiLib in the FrontEnd and some batch file to move the built files). Update is in revision 199.
  • 1 month later...
Posted

I changed the Animations Expired method so now instead of using an internal callback, which forced you to loop through all your animations, you can instead use a function pointer callback with a parameter (such as a pointer directly to the iterator in your internal data structure), which will be much more efficient for things like LVZ. When making an animation now you pass an optional expired function pointer:

 

/**
* Play an animation that will loop for a certain time, or until freeAnimation is called
* This is a map-relative animation, meaning that it's placed at a coordinate on the map and the player can move around it
* @param name the name used to identify the animation int the [Animations] section of hte settings
* @param xPixel the x pixel of the animation
* @param yPixel the y pixel of the animation
* @param centered is this a centered animation? (false = top left corner was specified)
* @param layer the later to draw it on
* @param mill the maximum time the animation will be visible (it can also be stopped with stopLoopingAnimation)
* @param expiredFunc the function called when the animation expires, can be NULL
* @param expiredParam the parameter passed to the expiredFunc
* @return a const Animation* index you can use to stop the animation, or move it around (through this interface)
*/
Animation* (*playTimedMapAnimation)(const char* name, int xPixel, int yPixel, bool centered, int layer, int mill,
	void (*expiredFunc)(void*), void* expiredParam);

 

I also modded LVZ and particles and selfship to use this new interface. I don't see any crashing now, let me know if it still occurs. The new version is on the svn.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...