diff --git a/code/nel/src/3d/driver/opengl/mac/cocoa_adapter.mm b/code/nel/src/3d/driver/opengl/mac/cocoa_adapter.mm index b3e54cd36..aa0cf9dbb 100644 --- a/code/nel/src/3d/driver/opengl/mac/cocoa_adapter.mm +++ b/code/nel/src/3d/driver/opengl/mac/cocoa_adapter.mm @@ -24,7 +24,6 @@ #include "cocoa_event_emitter.h" #include "cocoa_opengl_view.h" -#include "cocoa_window.h" // Virtual key codes are only defined here. We still do not need to link carbon. // see: http://lists.apple.com/archives/Cocoa-dev/2009/May/msg01180.html @@ -99,97 +98,8 @@ static void setupApplicationMenu() [[NSApp mainMenu] addItem:menuItem]; } -void ctor() +static void setupGLView(NSView* superview) { - // create a pool, cocoa code would leak memory otherwise - g_pool = [[NSAutoreleasePool alloc] init]; - - // init the application object - [NSApplication sharedApplication]; - - // create the menu in the top screen bar - setupApplicationMenu(); - - // tell the application that we are running now - [NSApp finishLaunching]; -} - -void dtor() -{ - // shut down the application - [NSApp terminate:nil]; - - // release the pool - [g_pool release]; -} - -bool init(uint windowIcon, emptyProc exitFunc) -{ - return true; -} - -bool unInit() -{ - return true; -} - -nlWindow createWindow(const GfxMode& mode) -{ - unsigned int styleMask = NSTitledWindowMask | NSClosableWindowMask | - NSMiniaturizableWindowMask | NSResizableWindowMask; - - // create a cocoa window with the size provided by the mode parameter - CocoaWindow* window = [[CocoaWindow alloc] - initWithContentRect:NSMakeRect(0, 0, mode.Width, mode.Height) - styleMask:styleMask backing:NSBackingStoreBuffered defer:NO]; - - if(!window) - nlerror("cannot create window"); - - // set the window to non transparent - [window setOpaque:YES]; - - // enable mouse move events, NeL wants them - [window setAcceptsMouseMovedEvents:YES]; - - // there are no overlapping subviews, so we can use the magical optimization! - [window useOptimizedDrawing:YES]; - - // put the window to the front and make it the key window - [window makeKeyAndOrderFront:nil]; - - // this is our main window - [window makeMainWindow]; - - return window; -} - -bool destroyWindow(nlWindow wnd) -{ - NSWindow* window = (NSWindow*)wnd; - NSOpenGLView* view = [window contentView]; - - // release the view we alloced - [view release]; - - // release the window we alloced - [window release]; - - return true; -} - -nlWindow setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeable) -{ - /* - TODO use show - call showWindow() - */ - - NSWindow* window = (NSWindow*)wnd; - - if(wnd == EmptyWindow) - window = (NSWindow*)createWindow(mode); - /* TODO use mode.Depth TODO NSOpenGLPFAOffScreen @@ -223,8 +133,13 @@ nlWindow setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeabl if(!view) nlerror("cannot create view"); - // put the view into the window - [window setContentView:view]; + // make the view automatically fit the super view + [view setAutoresizingMask: NSViewHeightSizable | NSViewWidthSizable]; + + // put the view into the superview + [superview addSubview:view]; + + [view setFrame: [superview frame]]; // create a opengl context for the view NSOpenGLContext* ctx = [view openGLContext]; @@ -234,8 +149,102 @@ nlWindow setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeabl // free the pixel format object [format release]; +} - return window; +void ctor() +{ +} + +void dtor() +{ +} + +bool init(uint windowIcon, emptyProc exitFunc) +{ + return true; +} + +bool unInit() +{ + return true; +} + +nlWindow createWindow(const GfxMode& mode) +{ + // create a pool, cocoa code would leak memory otherwise + g_pool = [[NSAutoreleasePool alloc] init]; + + // init the application object + [NSApplication sharedApplication]; + + // create the menu in the top screen bar + setupApplicationMenu(); + + // tell the application that we are running now + [NSApp finishLaunching]; + + // describe how the window should look like and behave + unsigned int styleMask = NSTitledWindowMask | NSClosableWindowMask | + NSMiniaturizableWindowMask | NSResizableWindowMask; + + // create a cocoa window with the size provided by the mode parameter + NSWindow* window = [[NSWindow alloc] + initWithContentRect:NSMakeRect(0, 0, mode.Width, mode.Height) + styleMask:styleMask backing:NSBackingStoreBuffered defer:NO]; + + if(!window) + nlerror("cannot create window"); + + // set the window to non transparent + [window setOpaque:YES]; + + // enable mouse move events, NeL wants them + [window setAcceptsMouseMovedEvents:YES]; + + // there are no overlapping subviews, so we can use the magical optimization! + [window useOptimizedDrawing:YES]; + + // put the window to the front and make it the key window + [window makeKeyAndOrderFront:nil]; + + // this is our main window + [window makeMainWindow]; + + NSView* view = [[NSView alloc] init]; + + [window setContentView: view]; + + return view; +} + +bool destroyWindow(nlWindow wnd) +{ + NSView* view = (NSView*)wnd; + + // release the window + [[view window] release]; + + // shut down the application + [NSApp terminate:nil]; + + // release the pool + [g_pool release]; + + return true; +} + +nlWindow setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeable) +{ + NSView* view = (NSView*)wnd; + + if(view == EmptyWindow) + view = (NSView*)createWindow(mode); + + setupGLView(view); + + [[view window] makeFirstResponder:[[view subviews] lastObject]]; + + return view; } bool setWindowStyle(nlWindow wnd, bool fullscreen) @@ -246,16 +255,16 @@ bool setWindowStyle(nlWindow wnd, bool fullscreen) return false; } - NSWindow* window = (NSWindow*)wnd; - NSOpenGLView* view = [window contentView]; - NSOpenGLContext* ctx = [view openGLContext]; + NSView* superview = (NSView*)wnd; + NSOpenGLView* view = [[superview subviews] lastObject]; // leave fullscreen mode, enter windowed mode - if(!fullscreen && [view isInFullScreenMode]) + if(!fullscreen && [superview isInFullScreenMode]) { // disable manual setting of back buffer size, cocoa handles this // automatically as soon as the view gets resized - CGLError error = CGLDisable((CGLContextObj)[ctx CGLContextObj], + CGLError error = CGLDisable( + (CGLContextObj)[[view openGLContext] CGLContextObj], kCGLCESurfaceBackingSize); if(error != kCGLNoError) @@ -263,14 +272,21 @@ bool setWindowStyle(nlWindow wnd, bool fullscreen) CGLErrorString(error)); // pull the view back from fullscreen restoring window options - [view exitFullScreenModeWithOptions:nil]; + [superview exitFullScreenModeWithOptions:nil]; + + // let the gl view receive key events + [[view window] makeFirstResponder:view]; + + // bring the window containing the gl view to the front + [[view window] makeKeyAndOrderFront:nil]; } // enter fullscreen, leave windowed mode - else if(fullscreen && ![view isInFullScreenMode]) + else if(fullscreen && ![superview isInFullScreenMode]) { // enable manual back buffer size for mode setting in fullscreen - CGLError error = CGLEnable((CGLContextObj)[ctx CGLContextObj], + CGLError error = CGLEnable( + (CGLContextObj)[[view openGLContext] CGLContextObj], kCGLCESurfaceBackingSize); if(error != kCGLNoError) @@ -280,7 +296,7 @@ bool setWindowStyle(nlWindow wnd, bool fullscreen) // put the view in fullscreen mode, hiding the dock but enabling the menubar // to pop up if the mouse hits the top screen border. // NOTE: withOptions:nil disables + application switching! - [view enterFullScreenMode:[NSScreen mainScreen] withOptions: + [superview enterFullScreenMode:[NSScreen mainScreen] withOptions: [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt: NSApplicationPresentationHideDock | @@ -291,6 +307,9 @@ bool setWindowStyle(nlWindow wnd, bool fullscreen) TODO check if simply using NSView enterFullScreenMode is a good idea. the context can be set to full screen as well, performance differences? */ + + // let the gl view receive key events + [[view window] makeFirstResponder:view]; } return true; @@ -299,8 +318,8 @@ bool setWindowStyle(nlWindow wnd, bool fullscreen) void getCurrentScreenMode(nlWindow wnd, GfxMode& mode) { - NSWindow* window = (NSWindow*)wnd; - NSOpenGLView* view = [window contentView]; + NSView* superview = (NSView*)wnd; + NSOpenGLView* view = [[superview subviews] lastObject]; // the sceen with the menu bar NSScreen* screen = [[NSScreen screens] objectAtIndex:0]; @@ -310,7 +329,7 @@ void getCurrentScreenMode(nlWindow wnd, GfxMode& mode) mode.Depth = NSBitsPerPixelFromDepth([screen depth]); // in fullscreen mode - if([view isInFullScreenMode]) + if([superview isInFullScreenMode]) { // return the size of the back buffer (like having switched monitor mode) mode.Windowed = false; @@ -330,9 +349,8 @@ void getCurrentScreenMode(nlWindow wnd, GfxMode& mode) void getWindowSize(nlWindow wnd, uint32 &width, uint32 &height) { - NSWindow* window = (NSWindow*)wnd; - NSOpenGLView* view = [window contentView]; - NSOpenGLContext* ctx = [view openGLContext]; + NSView* superview = (NSView*)wnd; + NSOpenGLView* view = [[superview subviews] lastObject]; // A cocoa fullscreen view stays at the native resolution of the display. // When changing the rendering resolution, the size of the back buffer gets @@ -343,7 +361,7 @@ void getWindowSize(nlWindow wnd, uint32 &width, uint32 &height) // not the one from the window. // in fullscreen mode - if([view isInFullScreenMode]) + if([superview isInFullScreenMode]) { // use the size stored in setWindowSize() width = g_bufferSize[0]; @@ -362,16 +380,16 @@ void getWindowSize(nlWindow wnd, uint32 &width, uint32 &height) void setWindowSize(nlWindow wnd, uint32 width, uint32 height) { - NSWindow* window = (NSWindow*)wnd; - NSOpenGLView* view = [window contentView]; - NSOpenGLContext* ctx = [view openGLContext]; + NSView* superview = (NSView*)wnd; + NSOpenGLView* view = [[superview subviews] lastObject]; // for fullscreen mode, adjust the back buffer size to the desired resolution - if([view isInFullScreenMode]) + if([superview isInFullScreenMode]) { // set the back buffer manually to match the desired rendering resolution GLint dim[2] = { width, height }; - CGLError error = CGLSetParameter((CGLContextObj)[ctx CGLContextObj], + CGLError error = CGLSetParameter( + (CGLContextObj)[[view openGLContext] CGLContextObj], kCGLCPSurfaceBackingSize, dim); if(error != kCGLNoError) @@ -380,15 +398,22 @@ void setWindowSize(nlWindow wnd, uint32 width, uint32 height) } else { - // get the windows current frame - NSRect rect = [window frame]; + // there is only a pool if nel created the window itself assuming that + // nel is also in charge of the main loop + if(g_pool) + { + NSWindow* window = [view window]; - // convert the desired content size to window size - rect = [window frameRectForContentRect: - NSMakeRect(rect.origin.x, rect.origin.y, width, height)]; + // get the windows current frame + NSRect rect = [window frame]; - // update window dimensions - [window setFrame:rect display:YES]; + // convert the desired content size to window size + rect = [window frameRectForContentRect: + NSMakeRect(rect.origin.x, rect.origin.y, width, height)]; + + // update window dimensions + [window setFrame:rect display:YES]; + } } // store the size @@ -399,11 +424,12 @@ void setWindowSize(nlWindow wnd, uint32 width, uint32 height) void getWindowPos(nlWindow wnd, sint32 &x, sint32 &y) { - NSWindow* window = (NSWindow*)wnd; - NSOpenGLView* view = [window contentView]; + NSView* superview = (NSView*)wnd; + NSOpenGLView* view = [[superview subviews] lastObject]; + NSWindow* window = [view window]; // for IDriver conformity - if([view isInFullScreenMode]) + if([superview isInFullScreenMode]) { x = y = 0; return; @@ -424,7 +450,8 @@ void getWindowPos(nlWindow wnd, sint32 &x, sint32 &y) void setWindowPos(nlWindow wnd, sint32 x, sint32 y) { - NSWindow* window = (NSWindow*)wnd; + NSView* superview = (NSView*)wnd; + NSWindow* window = [superview window]; // get the rect (position, size) of the screen with menu bar NSRect screenRect = [[[NSScreen screens] objectAtIndex:0] frame]; @@ -441,7 +468,8 @@ void setWindowPos(nlWindow wnd, sint32 x, sint32 y) void setWindowTitle(nlWindow wnd, const ucstring& title) { - NSWindow* window = (NSWindow*)wnd; + NSView* superview = (NSView*)wnd; + NSWindow* window = [superview window]; // well... set the title of the window [window setTitle:[NSString stringWithUTF8String:title.toUtf8().c_str()]]; @@ -454,8 +482,9 @@ void showWindow(bool show) bool activate(nlWindow wnd) { - NSWindow* window = (NSWindow*)wnd; - NSOpenGLContext* ctx = [[window contentView] openGLContext]; + NSView* superview = (NSView*)wnd; + NSOpenGLView* view = [[superview subviews] lastObject]; + NSOpenGLContext* ctx = [view openGLContext]; // if our context is not the current one, make it the current if([NSOpenGLContext currentContext] != ctx) @@ -466,9 +495,9 @@ bool activate(nlWindow wnd) void swapBuffers(nlWindow wnd) { - NSWindow* window = (NSWindow*)wnd; - NSOpenGLView* view = [window contentView]; - NSOpenGLContext* ctx = [view openGLContext]; + NSView* superview = (NSView*)wnd; + NSOpenGLView* view = [[superview subviews] lastObject]; + NSOpenGLContext* ctx = [view openGLContext]; // make cocoa draw buffer contents to the view [ctx flushBuffer]; @@ -508,8 +537,9 @@ void showCursor(bool show) void setMousePos(nlWindow wnd, float x, float y) { - NSWindow* window = (NSWindow*)wnd; - NSOpenGLView* view = [window contentView]; + NSView* superview = (NSView*)wnd; + NSOpenGLView* view = [[superview subviews] lastObject]; + NSWindow* window = [view window]; // CG wants absolute coordinates related to first screen's top left @@ -518,7 +548,7 @@ void setMousePos(nlWindow wnd, float x, float y) // get the rect (position, size) of the window NSRect windowRect; - if([view isInFullScreenMode]) + if([superview isInFullScreenMode]) windowRect = [[window screen] frame]; else windowRect = [window frame]; @@ -741,10 +771,15 @@ void emulateMouseRawMode(bool enable) void submitEvents(NLMISC::CEventServer& server, bool allWindows, NLMISC::CCocoaEventEmitter* eventEmitter) { - // cocoa style memory cleanup - [g_pool release]; - g_pool = [[NSAutoreleasePool alloc] init]; - + // there is only a pool if nel created the window itself assuming that + // nel is also in charge of the main loop + if(g_pool) + { + // cocoa style memory cleanup + [g_pool release]; + g_pool = [[NSAutoreleasePool alloc] init]; + } + // we break if there was no event to handle /* TODO maximum number of events processed in one update? */ while(true) @@ -758,7 +793,8 @@ void submitEvents(NLMISC::CEventServer& server, if(!event) break; - NSRect viewRect = [[[event window] contentView] frame]; + NSView* glView = [[[[event window] contentView] subviews] lastObject]; + NSRect viewRect = [glView frame]; // TODO this code assumes, that the view fills the window // convert the mouse position to NeL style (relative) @@ -770,7 +806,6 @@ void submitEvents(NLMISC::CEventServer& server, event.type != NSKeyDown && event.type != NSKeyUp) { [NSApp sendEvent:event]; - [NSApp updateWindows]; continue; } @@ -829,7 +864,6 @@ void submitEvents(NLMISC::CEventServer& server, nelEvent = new NLMISC::CEventMouseMove(mouseX, mouseY, (NLMISC::TMouseButton)0 /* modifiers */, eventEmitter); - server.postEvent(nelEvent); break; } @@ -947,7 +981,6 @@ void submitEvents(NLMISC::CEventServer& server, } [NSApp sendEvent:event]; - [NSApp updateWindows]; } } diff --git a/code/nel/src/3d/driver/opengl/mac/cocoa_opengl_view.h b/code/nel/src/3d/driver/opengl/mac/cocoa_opengl_view.h index 1ccc7e9e2..11bb87cc7 100644 --- a/code/nel/src/3d/driver/opengl/mac/cocoa_opengl_view.h +++ b/code/nel/src/3d/driver/opengl/mac/cocoa_opengl_view.h @@ -29,28 +29,6 @@ -(id)initWithFrame:(NSRect)frame; -(void)dealloc; - --(BOOL)acceptsFirstResponder; --(BOOL)needsPanelToBecomeKey; -(void)keyDown:(NSEvent*)event; -/******************************************************************************/ -/* NSTextInputClient Protocol */ - --(BOOL)hasMarkedText; --(NSRange)markedRange; --(NSRange)selectedRange; --(void)setMarkedText:(id)aString - selectedRange:(NSRange)newSelection - replacementRange:(NSRange)replacementRange; --(void)unmarkText; --(NSArray*)validAttributesForMarkedText; --(NSAttributedString*)attributedSubstringForProposedRange:(NSRange)aRange - actualRange:(NSRangePointer)actualRange; --(void)insertText:(id)aString replacementRange:(NSRange)replacementRange; --(NSUInteger)characterIndexForPoint:(NSPoint)aPoint; --(NSRect)firstRectForCharacterRange:(NSRange)aRange - actualRange:(NSRangePointer)actualRange; --(void)doCommandBySelector:(SEL)aSelector; - @end diff --git a/code/nel/src/3d/driver/opengl/mac/cocoa_opengl_view.m b/code/nel/src/3d/driver/opengl/mac/cocoa_opengl_view.m index c9c080dd6..fbb43f5fc 100644 --- a/code/nel/src/3d/driver/opengl/mac/cocoa_opengl_view.m +++ b/code/nel/src/3d/driver/opengl/mac/cocoa_opengl_view.m @@ -20,7 +20,7 @@ @implementation CocoaOpenGLView -- (id)initWithFrame:(NSRect)frame +-(id)initWithFrame:(NSRect)frame { if(self = [super initWithFrame:frame]) { @@ -30,22 +30,12 @@ return nil; } -- (void)dealloc +-(void)dealloc { [characterStorage release]; [super dealloc]; } --(BOOL)acceptsFirstResponder -{ - return YES; -} - --(BOOL)needsPanelToBecomeKey -{ - return NO; -} - -(void)keyDown:(NSEvent*)event { [[self inputContext] handleEvent:event]; diff --git a/code/nel/src/3d/driver/opengl/mac/cocoa_window.h b/code/nel/src/3d/driver/opengl/mac/cocoa_window.h deleted file mode 100644 index 0674a9070..000000000 --- a/code/nel/src/3d/driver/opengl/mac/cocoa_window.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -// NeL - MMORPG Framework -// Copyright (C) 2010 Winch Gate Property Limited -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -*/ - -#import - -/** - * derived to configure the NSWindow - */ -@interface CocoaWindow : NSWindow -{ -} --(BOOL)canBecomeKeyWindow; --(BOOL)canBecomeMainWindow; --(BOOL)needsPanelToBecomeKey; --(BOOL)acceptsFirstResponder; -@end diff --git a/code/nel/src/3d/driver/opengl/mac/cocoa_window.m b/code/nel/src/3d/driver/opengl/mac/cocoa_window.m deleted file mode 100644 index 3f5f3266c..000000000 --- a/code/nel/src/3d/driver/opengl/mac/cocoa_window.m +++ /dev/null @@ -1,43 +0,0 @@ -/* -// NeL - MMORPG Framework -// Copyright (C) 2010 Winch Gate Property Limited -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -*/ - -#import "cocoa_window.h" - -@implementation CocoaWindow - --(BOOL)canBecomeKeyWindow -{ - return YES; -} - --(BOOL)canBecomeMainWindow -{ - return YES; -} - --(BOOL)needsPanelToBecomeKey -{ - return NO; -} - --(BOOL)acceptsFirstResponder -{ - return YES; -} - -@end diff --git a/code/nel/src/misc.vcproj b/code/nel/src/misc.vcproj index 36c0efdfd..017efdf64 100644 --- a/code/nel/src/misc.vcproj +++ b/code/nel/src/misc.vcproj @@ -91,80 +91,6 @@ Name="VCPostBuildEventTool" /> - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + 1) + // marker of a block + f.serial(blockMarker1); + + if (blockMarker1 == 0xff) { // marker of a block - f.serial(blockMarker); - NLMISC_BSWAP16(blockMarker); + f.serial(blockMarker2); + // 0xff00 is only found in image data + if (blockMarker2 == 0x00) + { + // image data 0xff + } + // 0xffda is image data + else if (blockMarker2 == 0xda) + { + // next data is image data which must end with 0xffd9 + } // 0xffd9 is the end of an image - if (blockMarker == 0xffd9) break; + else if (blockMarker2 == 0xd9) + { + // real end of file + break; + } + else if (blockMarker2 == 0xdd || blockMarker2 == 0xdc) + { + f.seek(4, IStream::current); + } + else if (blockMarker2 == 0xdf) + { + f.seek(3, IStream::current); + } + else if (blockMarker2 >= 0xd0 && blockMarker2 <= 0xd8) + { + // no content + } + else + { + // size of a block + f.serial(blockSize); + NLMISC_BSWAP16(blockSize); + + // frame marker (which contains image width and height) + if (blockMarker2 >= 0xc0 && blockMarker2 <= 0xc3) + { + uint8 imagePrecision = 0; // sample precision + uint32 imageSize = 0; // width and height + f.serial(imagePrecision); + f.serial(imageSize); + NLMISC_BSWAP32(imageSize); + + retWidth = imageSize & 0xffff; + retHeight = (imageSize & 0xffff0000) >> 16; + + break; + } + + // skip the block + f.seek(blockSize - 2, IStream::current); + } } - - // size of a block - f.serial(blockSize); - NLMISC_BSWAP16(blockSize); - - // frame marker (which contains image width and height) - if (blockMarker >= 0xffc0 && blockMarker <= 0xffc3) - { - uint8 imagePrecision = 0; // sample precision - uint32 imageSize = 0; // width and height - f.serial(imagePrecision); - f.serial(imageSize); - NLMISC_BSWAP32(imageSize); - - retWidth = imageSize & 0xffff; - retHeight = (imageSize & 0xffff0000) >> 16; - - break; - } - - // skip the block - f.seek(blockSize - 2, IStream::current); } catch(...) { diff --git a/code/nel/src/sound/music_channel_fader.cpp b/code/nel/src/sound/music_channel_fader.cpp index 43909b700..ce8db4bfe 100644 --- a/code/nel/src/sound/music_channel_fader.cpp +++ b/code/nel/src/sound/music_channel_fader.cpp @@ -1,11 +1,3 @@ -/** - * \file music_channel_fader.cpp - * \brief CMusicChannelFader - * \date 2008-09-04 21:49GMT - * \author Jan Boon (Kaetemi) - * CMusicChannelFader roughly based on music_channel_fmod.cpp - */ - // NeL - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // diff --git a/code/ryzom/client/client_default.cfg b/code/ryzom/client/client_default.cfg index 6e85438b8..a234c6daa 100644 --- a/code/ryzom/client/client_default.cfg +++ b/code/ryzom/client/client_default.cfg @@ -295,7 +295,7 @@ CameraHeight = 2.2; // Camera Height (in meter) from the ground (for the Third CameraDistance = 3.0; // Camera Distance(in meter) from the user (for the Third Person View). CameraDistStep = 1.0; CameraDistMin = 1.0; -CameraDistMax = 5.0; +CameraDistMax = 25.0; CameraAccel = 5.0; CameraSpeedMin = 2.0; CameraSpeedMax = 100.0; @@ -384,11 +384,25 @@ SystemInfoColors = "R2_INVITE","0 255 0 255 around", // Ring invitation }; -PrintfCommands ={ -}; +PrintfCommands = { + "52", "15", "55 55 0 255", "28", "uiChapterIV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterIV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; -PrintfCommandsFreeTrial ={ -}; +PrintfCommandsFreeTrial = { + "52", "15", "55 55 0 255", "28", "uiChapterIV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterIV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; DisplayMissingAnimFile = 0; @@ -504,13 +518,13 @@ HardwareCursors = "r2ed_tool_rotating.tga" }; -Loading_BG = "loading_bg.tga"; // Default name for the loading background file. -Launch_BG = "launcher_bg.tga"; // Default name for the launch background file. -TeleportKami_BG = "teleport_kami_bg.tga"; -TeleportKaravan_BG = "teleport_caravan_bg.tga"; -Elevator_BG = "elevator_bg.tga"; // Default name for the loading background file. -ResurectKami_BG = "resurect_kami_bg.tga"; -ResurectKaravan_BG = "resurect_caravane_bg.tga"; +Loading_BG = "new_loading_bg.tga"; // Default name for the loading background file. +Launch_BG = "new_launcher_bg.tga"; // Default name for the launch background file. +TeleportKami_BG = "new_teleport_kami_bg.tga"; +TeleportKaravan_BG = "new_teleport_caravan_bg.tga"; +Elevator_BG = "new_elevator_bg.tga"; // Default name for the loading background file. +ResurectKami_BG = "new_resurect_kami_bg.tga"; +ResurectKaravan_BG = "new_resurect_caravane_bg.tga"; End_BG = "end_bg.tga"; // Default name for the last background file. ScenarioSavePath = "./my_scenarios/"; diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/matis_island_2_map.tga b/code/ryzom/client/data/gamedev/adds/interfaces/matis_island_2_map.tga new file mode 100644 index 000000000..881a465b9 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/matis_island_2_map.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/matis_island_full_map.tga b/code/ryzom/client/data/gamedev/adds/interfaces/matis_island_full_map.tga new file mode 100644 index 000000000..36ff71c6c Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/matis_island_full_map.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg.tga new file mode 100644 index 000000000..ddb4ff7b4 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg_0.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg_0.tga new file mode 100644 index 000000000..231de6f31 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg_0.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg_1.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg_1.tga new file mode 100644 index 000000000..30ea0abf1 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_launcher_bg_1.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_loading_bg_0.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_loading_bg_0.tga new file mode 100644 index 000000000..03d27eed3 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_loading_bg_0.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_loading_bg_1.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_loading_bg_1.tga new file mode 100644 index 000000000..b7fb5873f Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_loading_bg_1.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_caravane_bg_0.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_caravane_bg_0.tga new file mode 100644 index 000000000..075b8d316 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_caravane_bg_0.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_caravane_bg_1.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_caravane_bg_1.tga new file mode 100644 index 000000000..132132bbb Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_caravane_bg_1.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_kami_bg_0.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_kami_bg_0.tga new file mode 100644 index 000000000..dfd6e59e0 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_kami_bg_0.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_kami_bg_1.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_kami_bg_1.tga new file mode 100644 index 000000000..761307080 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_resurect_kami_bg_1.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_caravan_bg_0.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_caravan_bg_0.tga new file mode 100644 index 000000000..1aa2241e2 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_caravan_bg_0.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_caravan_bg_1.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_caravan_bg_1.tga new file mode 100644 index 000000000..f61de48fc Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_caravan_bg_1.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_kami_bg_0.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_kami_bg_0.tga new file mode 100644 index 000000000..3d88015a4 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_kami_bg_0.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_kami_bg_1.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_kami_bg_1.tga new file mode 100644 index 000000000..cac78404c Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_teleport_kami_bg_1.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_texture_interfaces_dxtc.tga b/code/ryzom/client/data/gamedev/adds/interfaces/new_texture_interfaces_dxtc.tga new file mode 100644 index 000000000..e25a81ef9 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/interfaces/new_texture_interfaces_dxtc.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/interfaces/new_texture_interfaces_dxtc.txt b/code/ryzom/client/data/gamedev/adds/interfaces/new_texture_interfaces_dxtc.txt new file mode 100644 index 000000000..48610a1c4 --- /dev/null +++ b/code/ryzom/client/data/gamedev/adds/interfaces/new_texture_interfaces_dxtc.txt @@ -0,0 +1,657 @@ +r2_live.tga 0.000000000000 0.000000000000 0.042968750000 0.038085937500 +r2_live_over.tga 0.042968750000 0.000000000000 0.085937500000 0.038085937500 +r2_live_pushed.tga 0.000000000000 0.039062500000 0.042968750000 0.077148437500 +AR_botte.tga 0.085937500000 0.000000000000 0.125000000000 0.039062500000 +ar_botte_mask.tga 0.042968750000 0.039062500000 0.082031250000 0.078125000000 +AR_gilet.tga 0.082031250000 0.039062500000 0.121093750000 0.078125000000 +ar_gilet_mask.tga 0.000000000000 0.078125000000 0.039062500000 0.117187500000 +AR_hand.tga 0.039062500000 0.078125000000 0.078125000000 0.117187500000 +ar_hand_mask.tga 0.078125000000 0.078125000000 0.117187500000 0.117187500000 +AR_helmet.tga 0.125000000000 0.000000000000 0.164062500000 0.039062500000 +ar_helmet_mask.tga 0.164062500000 0.000000000000 0.203125000000 0.039062500000 +AR_pantabotte.tga 0.203125000000 0.000000000000 0.242187500000 0.039062500000 +ar_pantabotte_mask.tga 0.121093750000 0.039062500000 0.160156250000 0.078125000000 +bk_consommable.tga 0.160156250000 0.039062500000 0.199218750000 0.078125000000 +BK_fyros.tga 0.199218750000 0.039062500000 0.238281250000 0.078125000000 +BK_generic.tga 0.117187500000 0.078125000000 0.156250000000 0.117187500000 +BK_goo.tga 0.156250000000 0.078125000000 0.195312500000 0.117187500000 +bk_guild.tga 0.195312500000 0.078125000000 0.234375000000 0.117187500000 +bk_horde.tga 0.000000000000 0.117187500000 0.039062500000 0.156250000000 +bk_kami.tga 0.039062500000 0.117187500000 0.078125000000 0.156250000000 +bk_karavan.tga 0.078125000000 0.117187500000 0.117187500000 0.156250000000 +BK_matis.tga 0.117187500000 0.117187500000 0.156250000000 0.156250000000 +bk_mission.tga 0.156250000000 0.117187500000 0.195312500000 0.156250000000 +bk_mission2.tga 0.195312500000 0.117187500000 0.234375000000 0.156250000000 +bk_outpost.tga 0.000000000000 0.156250000000 0.039062500000 0.195312500000 +BK_primes.tga 0.039062500000 0.156250000000 0.078125000000 0.195312500000 +bk_service.tga 0.078125000000 0.156250000000 0.117187500000 0.195312500000 +bk_training.tga 0.117187500000 0.156250000000 0.156250000000 0.195312500000 +BK_tryker.tga 0.156250000000 0.156250000000 0.195312500000 0.195312500000 +BK_zorai.tga 0.195312500000 0.156250000000 0.234375000000 0.195312500000 +charge.tga 0.000000000000 0.195312500000 0.039062500000 0.234375000000 +clef.tga 0.039062500000 0.195312500000 0.078125000000 0.234375000000 +conso_branche.tga 0.078125000000 0.195312500000 0.117187500000 0.234375000000 +conso_branche_mask.tga 0.117187500000 0.195312500000 0.156250000000 0.234375000000 +conso_fleur.tga 0.156250000000 0.195312500000 0.195312500000 0.234375000000 +conso_fleur_mask.tga 0.195312500000 0.195312500000 0.234375000000 0.234375000000 +conso_grappe.tga 0.242187500000 0.000000000000 0.281250000000 0.039062500000 +conso_grappe_mask.tga 0.281250000000 0.000000000000 0.320312500000 0.039062500000 +conso_nectar.tga 0.320312500000 0.000000000000 0.359375000000 0.039062500000 +conso_nectar_mask.tga 0.359375000000 0.000000000000 0.398437500000 0.039062500000 +construction.tga 0.398437500000 0.000000000000 0.437500000000 0.039062500000 +cristal_ammo.tga 0.437500000000 0.000000000000 0.476562500000 0.039062500000 +cristal_spell.tga 0.238281250000 0.039062500000 0.277343750000 0.078125000000 +ge_mission_outpost_townhall.tga 0.277343750000 0.039062500000 0.316406250000 0.078125000000 +ico_amande.tga 0.316406250000 0.039062500000 0.355468750000 0.078125000000 +ico_cataliseur_xp.tga 0.355468750000 0.039062500000 0.394531250000 0.078125000000 +ico_consommable_over.tga 0.394531250000 0.039062500000 0.433593750000 0.078125000000 +ico_fleur_carac_1.tga 0.433593750000 0.039062500000 0.472656250000 0.078125000000 +ico_fleur_carac_1_mask.tga 0.234375000000 0.078125000000 0.273437500000 0.117187500000 +ico_fleur_carac_2.tga 0.273437500000 0.078125000000 0.312500000000 0.117187500000 +ico_fleur_carac_2_mask.tga 0.312500000000 0.078125000000 0.351562500000 0.117187500000 +ico_fleur_carac_3.tga 0.351562500000 0.078125000000 0.390625000000 0.117187500000 +ico_fleur_carac_3_mask.tga 0.390625000000 0.078125000000 0.429687500000 0.117187500000 +ico_foreuse.tga 0.429687500000 0.078125000000 0.468750000000 0.117187500000 +ico_haircolor.tga 0.234375000000 0.117187500000 0.273437500000 0.156250000000 +ico_haircut.tga 0.273437500000 0.117187500000 0.312500000000 0.156250000000 +ico_mission_art_fyros.tga 0.312500000000 0.117187500000 0.351562500000 0.156250000000 +ico_mission_art_matis.tga 0.351562500000 0.117187500000 0.390625000000 0.156250000000 +ico_mission_art_tryker.tga 0.390625000000 0.117187500000 0.429687500000 0.156250000000 +ico_mission_art_zorai.tga 0.429687500000 0.117187500000 0.468750000000 0.156250000000 +ico_mission_barrel.tga 0.234375000000 0.156250000000 0.273437500000 0.195312500000 +ico_mission_bottle.tga 0.273437500000 0.156250000000 0.312500000000 0.195312500000 +ico_mission_casket.tga 0.312500000000 0.156250000000 0.351562500000 0.195312500000 +ico_mission_medicine.tga 0.351562500000 0.156250000000 0.390625000000 0.195312500000 +ico_mission_message.tga 0.390625000000 0.156250000000 0.429687500000 0.195312500000 +ico_mission_package.tga 0.429687500000 0.156250000000 0.468750000000 0.195312500000 +ico_mission_pot.tga 0.234375000000 0.195312500000 0.273437500000 0.234375000000 +ico_mission_purse.tga 0.273437500000 0.195312500000 0.312500000000 0.234375000000 +ico_noix.tga 0.312500000000 0.195312500000 0.351562500000 0.234375000000 +ico_racine.tga 0.351562500000 0.195312500000 0.390625000000 0.234375000000 +ico_spores.tga 0.390625000000 0.195312500000 0.429687500000 0.234375000000 +ico_task_craft.tga 0.429687500000 0.195312500000 0.468750000000 0.234375000000 +ico_task_done.tga 0.000000000000 0.234375000000 0.039062500000 0.273437500000 +ico_task_failed.tga 0.039062500000 0.234375000000 0.078125000000 0.273437500000 +ico_task_fight.tga 0.078125000000 0.234375000000 0.117187500000 0.273437500000 +ico_task_forage.tga 0.117187500000 0.234375000000 0.156250000000 0.273437500000 +ico_task_generic.tga 0.156250000000 0.234375000000 0.195312500000 0.273437500000 +ico_task_generic_quart.tga 0.195312500000 0.234375000000 0.234375000000 0.273437500000 +ico_task_guild.tga 0.234375000000 0.234375000000 0.273437500000 0.273437500000 +ico_task_rite.tga 0.273437500000 0.234375000000 0.312500000000 0.273437500000 +ico_task_travel.tga 0.312500000000 0.234375000000 0.351562500000 0.273437500000 +ico_tatoo.tga 0.351562500000 0.234375000000 0.390625000000 0.273437500000 +ico_tourbe.tga 0.390625000000 0.234375000000 0.429687500000 0.273437500000 +improved_tool.tga 0.429687500000 0.234375000000 0.468750000000 0.273437500000 +item_default.tga 0.000000000000 0.273437500000 0.039062500000 0.312500000000 +item_plan_over.tga 0.039062500000 0.273437500000 0.078125000000 0.312500000000 +lucky_flower.tga 0.078125000000 0.273437500000 0.117187500000 0.312500000000 +mektoub_pack.tga 0.117187500000 0.273437500000 0.156250000000 0.312500000000 +mektoub_steed.tga 0.156250000000 0.273437500000 0.195312500000 0.312500000000 +mg_glove.tga 0.195312500000 0.273437500000 0.234375000000 0.312500000000 +mission_icon_0.tga 0.234375000000 0.273437500000 0.273437500000 0.312500000000 +mission_icon_1.tga 0.273437500000 0.273437500000 0.312500000000 0.312500000000 +mission_icon_2.tga 0.312500000000 0.273437500000 0.351562500000 0.312500000000 +mission_icon_3.tga 0.351562500000 0.273437500000 0.390625000000 0.312500000000 +mp_amber.tga 0.390625000000 0.273437500000 0.429687500000 0.312500000000 +mp_bark.tga 0.429687500000 0.273437500000 0.468750000000 0.312500000000 +mp_batiment_brique.tga 0.000000000000 0.312500000000 0.039062500000 0.351562500000 +mp_batiment_colonne.tga 0.039062500000 0.312500000000 0.078125000000 0.351562500000 +mp_batiment_colonne_justice.tga 0.078125000000 0.312500000000 0.117187500000 0.351562500000 +mp_batiment_comble.tga 0.117187500000 0.312500000000 0.156250000000 0.351562500000 +mp_batiment_noyau_maduk.tga 0.156250000000 0.312500000000 0.195312500000 0.351562500000 +mp_batiment_ornement.tga 0.195312500000 0.312500000000 0.234375000000 0.351562500000 +mp_batiment_revetement.tga 0.234375000000 0.312500000000 0.273437500000 0.351562500000 +mp_batiment_socle.tga 0.273437500000 0.312500000000 0.312500000000 0.351562500000 +mp_batiment_statue.tga 0.312500000000 0.312500000000 0.351562500000 0.351562500000 +mp_beak.tga 0.351562500000 0.312500000000 0.390625000000 0.351562500000 +mp_blood.tga 0.390625000000 0.312500000000 0.429687500000 0.351562500000 +mp_bone.tga 0.429687500000 0.312500000000 0.468750000000 0.351562500000 +mp_bud.tga 0.000000000000 0.351562500000 0.039062500000 0.390625000000 +mp_buterfly_blue.tga 0.039062500000 0.351562500000 0.078125000000 0.390625000000 +mp_buterfly_cocoon.tga 0.078125000000 0.351562500000 0.117187500000 0.390625000000 +mp_cereal.tga 0.117187500000 0.351562500000 0.156250000000 0.390625000000 +mp_claw.tga 0.156250000000 0.351562500000 0.195312500000 0.390625000000 +mp_dandelion.tga 0.195312500000 0.351562500000 0.234375000000 0.390625000000 +mp_dust.tga 0.234375000000 0.351562500000 0.273437500000 0.390625000000 +mp_egg.tga 0.273437500000 0.351562500000 0.312500000000 0.390625000000 +mp_eyes.tga 0.312500000000 0.351562500000 0.351562500000 0.390625000000 +mp_fang.tga 0.351562500000 0.351562500000 0.390625000000 0.390625000000 +mp_fiber.tga 0.390625000000 0.351562500000 0.429687500000 0.390625000000 +mp_filament.tga 0.429687500000 0.351562500000 0.468750000000 0.390625000000 +mp_firefly_abdomen.tga 0.000000000000 0.390625000000 0.039062500000 0.429687500000 +mp_fish_scale.tga 0.039062500000 0.390625000000 0.078125000000 0.429687500000 +mp_flowers.tga 0.078125000000 0.390625000000 0.117187500000 0.429687500000 +mp_fresh_loose_soil.tga 0.117187500000 0.390625000000 0.156250000000 0.429687500000 +mp_fruit.tga 0.156250000000 0.390625000000 0.195312500000 0.429687500000 +mp_generic.tga 0.195312500000 0.390625000000 0.234375000000 0.429687500000 +mp_generic_colorize.tga 0.234375000000 0.390625000000 0.273437500000 0.429687500000 +mp_gomme.tga 0.273437500000 0.390625000000 0.312500000000 0.429687500000 +mp_goo_residue.tga 0.312500000000 0.390625000000 0.351562500000 0.429687500000 +mp_hairs.tga 0.351562500000 0.390625000000 0.390625000000 0.429687500000 +mp_hoof.tga 0.390625000000 0.390625000000 0.429687500000 0.429687500000 +mp_horn.tga 0.429687500000 0.390625000000 0.468750000000 0.429687500000 +mp_horney.tga 0.000000000000 0.429687500000 0.039062500000 0.468750000000 +mp_insect_fossil.tga 0.039062500000 0.429687500000 0.078125000000 0.468750000000 +mp_kitinshell.tga 0.078125000000 0.429687500000 0.117187500000 0.468750000000 +mp_kitin_flesh.tga 0.117187500000 0.429687500000 0.156250000000 0.468750000000 +mp_kitin_secretion.tga 0.156250000000 0.429687500000 0.195312500000 0.468750000000 +mp_larva.tga 0.195312500000 0.429687500000 0.234375000000 0.468750000000 +mp_leaf.tga 0.234375000000 0.429687500000 0.273437500000 0.468750000000 +mp_leather.tga 0.273437500000 0.429687500000 0.312500000000 0.468750000000 +mp_liane.tga 0.312500000000 0.429687500000 0.351562500000 0.468750000000 +mp_lichen.tga 0.351562500000 0.429687500000 0.390625000000 0.468750000000 +mp_ligament.tga 0.390625000000 0.429687500000 0.429687500000 0.468750000000 +mp_mandible.tga 0.429687500000 0.429687500000 0.468750000000 0.468750000000 +mp_meat.tga 0.476562500000 0.000000000000 0.515625000000 0.039062500000 +mp_moss.tga 0.515625000000 0.000000000000 0.554687500000 0.039062500000 +mp_mushroom.tga 0.554687500000 0.000000000000 0.593750000000 0.039062500000 +mp_nail.tga 0.593750000000 0.000000000000 0.632812500000 0.039062500000 +mp_oil.tga 0.632812500000 0.000000000000 0.671875000000 0.039062500000 +mp_parasite.tga 0.671875000000 0.000000000000 0.710937500000 0.039062500000 +mp_pearl.tga 0.710937500000 0.000000000000 0.750000000000 0.039062500000 +mp_pelvis.tga 0.750000000000 0.000000000000 0.789062500000 0.039062500000 +mp_pigment.tga 0.789062500000 0.000000000000 0.828125000000 0.039062500000 +mp_pistil.tga 0.828125000000 0.000000000000 0.867187500000 0.039062500000 +mp_plant_fossil.tga 0.867187500000 0.000000000000 0.906250000000 0.039062500000 +mp_pollen.tga 0.906250000000 0.000000000000 0.945312500000 0.039062500000 +mp_resin.tga 0.945312500000 0.000000000000 0.984375000000 0.039062500000 +mp_ronce.tga 0.472656250000 0.039062500000 0.511718750000 0.078125000000 +mp_rostrum.tga 0.511718750000 0.039062500000 0.550781250000 0.078125000000 +mp_sap.tga 0.550781250000 0.039062500000 0.589843750000 0.078125000000 +mp_sawdust.tga 0.589843750000 0.039062500000 0.628906250000 0.078125000000 +mp_seed.tga 0.628906250000 0.039062500000 0.667968750000 0.078125000000 +mp_shell.tga 0.667968750000 0.039062500000 0.707031250000 0.078125000000 +mp_silk_worm.tga 0.707031250000 0.039062500000 0.746093750000 0.078125000000 +mp_skin.tga 0.746093750000 0.039062500000 0.785156250000 0.078125000000 +mp_skull.tga 0.785156250000 0.039062500000 0.824218750000 0.078125000000 +mp_spiders_web.tga 0.824218750000 0.039062500000 0.863281250000 0.078125000000 +mp_spine.tga 0.863281250000 0.039062500000 0.902343750000 0.078125000000 +mp_stem.tga 0.902343750000 0.039062500000 0.941406250000 0.078125000000 +mp_sting.tga 0.941406250000 0.039062500000 0.980468750000 0.078125000000 +mp_straw.tga 0.468750000000 0.078125000000 0.507812500000 0.117187500000 +mp_suc.tga 0.507812500000 0.078125000000 0.546875000000 0.117187500000 +mp_tail.tga 0.546875000000 0.078125000000 0.585937500000 0.117187500000 +mp_tooth.tga 0.585937500000 0.078125000000 0.625000000000 0.117187500000 +mp_trunk.tga 0.625000000000 0.078125000000 0.664062500000 0.117187500000 +mp_whiskers.tga 0.664062500000 0.078125000000 0.703125000000 0.117187500000 +mp_wing.tga 0.703125000000 0.078125000000 0.742187500000 0.117187500000 +mp_wood.tga 0.742187500000 0.078125000000 0.781250000000 0.117187500000 +mp_wood_node.tga 0.781250000000 0.078125000000 0.820312500000 0.117187500000 +MW_2h_axe.tga 0.820312500000 0.078125000000 0.859375000000 0.117187500000 +MW_2h_lance.tga 0.859375000000 0.078125000000 0.898437500000 0.117187500000 +MW_2h_mace.tga 0.898437500000 0.078125000000 0.937500000000 0.117187500000 +MW_2h_sword.tga 0.937500000000 0.078125000000 0.976562500000 0.117187500000 +MW_axe.tga 0.468750000000 0.117187500000 0.507812500000 0.156250000000 +MW_dagger.tga 0.507812500000 0.117187500000 0.546875000000 0.156250000000 +MW_lance.tga 0.546875000000 0.117187500000 0.585937500000 0.156250000000 +MW_mace.tga 0.585937500000 0.117187500000 0.625000000000 0.156250000000 +MW_staff.tga 0.625000000000 0.117187500000 0.664062500000 0.156250000000 +MW_sword.tga 0.664062500000 0.117187500000 0.703125000000 0.156250000000 +PA_anklet.tga 0.703125000000 0.117187500000 0.742187500000 0.156250000000 +PA_bracelet.tga 0.742187500000 0.117187500000 0.781250000000 0.156250000000 +PA_diadem.tga 0.781250000000 0.117187500000 0.820312500000 0.156250000000 +PA_earring.tga 0.820312500000 0.117187500000 0.859375000000 0.156250000000 +PA_pendant.tga 0.859375000000 0.117187500000 0.898437500000 0.156250000000 +PA_ring.tga 0.898437500000 0.117187500000 0.937500000000 0.156250000000 +protect_amber.tga 0.937500000000 0.117187500000 0.976562500000 0.156250000000 +pw_4.tga 0.468750000000 0.156250000000 0.507812500000 0.195312500000 +pw_5.tga 0.507812500000 0.156250000000 0.546875000000 0.195312500000 +PW_heavy.tga 0.546875000000 0.156250000000 0.585937500000 0.195312500000 +PW_light.tga 0.585937500000 0.156250000000 0.625000000000 0.195312500000 +PW_medium.tga 0.625000000000 0.156250000000 0.664062500000 0.195312500000 +quest_coeur.tga 0.664062500000 0.156250000000 0.703125000000 0.195312500000 +quest_foie.tga 0.703125000000 0.156250000000 0.742187500000 0.195312500000 +quest_jeton.tga 0.742187500000 0.156250000000 0.781250000000 0.195312500000 +quest_langue.tga 0.781250000000 0.156250000000 0.820312500000 0.195312500000 +quest_louche.tga 0.820312500000 0.156250000000 0.859375000000 0.195312500000 +quest_oreille.tga 0.859375000000 0.156250000000 0.898437500000 0.195312500000 +quest_patte.tga 0.898437500000 0.156250000000 0.937500000000 0.195312500000 +quest_poils.tga 0.937500000000 0.156250000000 0.976562500000 0.195312500000 +quest_queue.tga 0.468750000000 0.195312500000 0.507812500000 0.234375000000 +quest_ticket.tga 0.507812500000 0.195312500000 0.546875000000 0.234375000000 +AM_logo.tga 0.546875000000 0.195312500000 0.585937500000 0.234375000000 +AR_armpad.tga 0.585937500000 0.195312500000 0.625000000000 0.234375000000 +ar_armpad_mask.tga 0.625000000000 0.195312500000 0.664062500000 0.234375000000 +requirement.tga 0.664062500000 0.195312500000 0.703125000000 0.234375000000 +rm_f.tga 0.703125000000 0.195312500000 0.742187500000 0.234375000000 +rm_f_upgrade.tga 0.742187500000 0.195312500000 0.781250000000 0.234375000000 +rm_h.tga 0.781250000000 0.195312500000 0.820312500000 0.234375000000 +rm_h_upgrade.tga 0.820312500000 0.195312500000 0.859375000000 0.234375000000 +rm_m.tga 0.859375000000 0.195312500000 0.898437500000 0.234375000000 +rm_m_upgrade.tga 0.898437500000 0.195312500000 0.937500000000 0.234375000000 +rm_r.tga 0.937500000000 0.195312500000 0.976562500000 0.234375000000 +rm_r_upgrade.tga 0.468750000000 0.234375000000 0.507812500000 0.273437500000 +rpjobitem_200_a.tga 0.507812500000 0.234375000000 0.546875000000 0.273437500000 +rpjobitem_200_b.tga 0.546875000000 0.234375000000 0.585937500000 0.273437500000 +rpjobitem_200_c.tga 0.585937500000 0.234375000000 0.625000000000 0.273437500000 +rpjobitem_201_a.tga 0.625000000000 0.234375000000 0.664062500000 0.273437500000 +rpjobitem_201_b.tga 0.664062500000 0.234375000000 0.703125000000 0.273437500000 +rpjobitem_201_c.tga 0.703125000000 0.234375000000 0.742187500000 0.273437500000 +rpjobitem_202_a.tga 0.742187500000 0.234375000000 0.781250000000 0.273437500000 +rpjobitem_202_b.tga 0.781250000000 0.234375000000 0.820312500000 0.273437500000 +rpjobitem_202_c.tga 0.820312500000 0.234375000000 0.859375000000 0.273437500000 +rpjobitem_203_a.tga 0.859375000000 0.234375000000 0.898437500000 0.273437500000 +rpjobitem_203_b.tga 0.898437500000 0.234375000000 0.937500000000 0.273437500000 +rpjobitem_203_c.tga 0.937500000000 0.234375000000 0.976562500000 0.273437500000 +rpjobitem_204_a.tga 0.468750000000 0.273437500000 0.507812500000 0.312500000000 +rpjobitem_204_b.tga 0.507812500000 0.273437500000 0.546875000000 0.312500000000 +rpjobitem_204_c.tga 0.546875000000 0.273437500000 0.585937500000 0.312500000000 +rpjobitem_205_a.tga 0.585937500000 0.273437500000 0.625000000000 0.312500000000 +rpjobitem_205_b.tga 0.625000000000 0.273437500000 0.664062500000 0.312500000000 +rpjobitem_205_c.tga 0.664062500000 0.273437500000 0.703125000000 0.312500000000 +rpjobitem_206_a.tga 0.703125000000 0.273437500000 0.742187500000 0.312500000000 +rpjobitem_206_b.tga 0.742187500000 0.273437500000 0.781250000000 0.312500000000 +rpjobitem_206_c.tga 0.781250000000 0.273437500000 0.820312500000 0.312500000000 +rpjobitem_207_a.tga 0.820312500000 0.273437500000 0.859375000000 0.312500000000 +rpjobitem_207_b.tga 0.859375000000 0.273437500000 0.898437500000 0.312500000000 +rpjobitem_207_c.tga 0.898437500000 0.273437500000 0.937500000000 0.312500000000 +rpjobitem_certifications.tga 0.937500000000 0.273437500000 0.976562500000 0.312500000000 +rpjob_200.tga 0.468750000000 0.312500000000 0.507812500000 0.351562500000 +rpjob_201.tga 0.507812500000 0.312500000000 0.546875000000 0.351562500000 +rpjob_202.tga 0.546875000000 0.312500000000 0.585937500000 0.351562500000 +rpjob_203.tga 0.585937500000 0.312500000000 0.625000000000 0.351562500000 +rpjob_204.tga 0.625000000000 0.312500000000 0.664062500000 0.351562500000 +rpjob_205.tga 0.664062500000 0.312500000000 0.703125000000 0.351562500000 +rpjob_206.tga 0.703125000000 0.312500000000 0.742187500000 0.351562500000 +rpjob_207.tga 0.742187500000 0.312500000000 0.781250000000 0.351562500000 +rpjob_advanced.tga 0.781250000000 0.312500000000 0.820312500000 0.351562500000 +rpjob_elementary.tga 0.820312500000 0.312500000000 0.859375000000 0.351562500000 +rpjob_roleplay.tga 0.859375000000 0.312500000000 0.898437500000 0.351562500000 +rpjob_task.tga 0.898437500000 0.312500000000 0.937500000000 0.351562500000 +rpjob_task_certificats.tga 0.937500000000 0.312500000000 0.976562500000 0.351562500000 +rpjob_task_convert.tga 0.468750000000 0.351562500000 0.507812500000 0.390625000000 +rpjob_task_elementary.tga 0.507812500000 0.351562500000 0.546875000000 0.390625000000 +rpjob_task_generic.tga 0.546875000000 0.351562500000 0.585937500000 0.390625000000 +rpjob_task_upgrade.tga 0.585937500000 0.351562500000 0.625000000000 0.390625000000 +RW_autolaunch.tga 0.625000000000 0.351562500000 0.664062500000 0.390625000000 +RW_bowgun.tga 0.664062500000 0.351562500000 0.703125000000 0.390625000000 +RW_grenade.tga 0.703125000000 0.351562500000 0.742187500000 0.390625000000 +RW_harpoongun.tga 0.742187500000 0.351562500000 0.781250000000 0.390625000000 +RW_launcher.tga 0.781250000000 0.351562500000 0.820312500000 0.390625000000 +RW_pistol.tga 0.820312500000 0.351562500000 0.859375000000 0.390625000000 +RW_pistolarc.tga 0.859375000000 0.351562500000 0.898437500000 0.390625000000 +RW_rifle.tga 0.898437500000 0.351562500000 0.937500000000 0.390625000000 +SH_buckler.tga 0.937500000000 0.351562500000 0.976562500000 0.390625000000 +SH_large_shield.tga 0.468750000000 0.390625000000 0.507812500000 0.429687500000 +spe_beast.tga 0.507812500000 0.390625000000 0.546875000000 0.429687500000 +spe_com.tga 0.546875000000 0.390625000000 0.585937500000 0.429687500000 +spe_inventory.tga 0.585937500000 0.390625000000 0.625000000000 0.429687500000 +spe_labs.tga 0.625000000000 0.390625000000 0.664062500000 0.429687500000 +spe_memory.tga 0.664062500000 0.390625000000 0.703125000000 0.429687500000 +spe_options.tga 0.703125000000 0.390625000000 0.742187500000 0.429687500000 +spe_status.tga 0.742187500000 0.390625000000 0.781250000000 0.429687500000 +stimulating_water.tga 0.781250000000 0.390625000000 0.820312500000 0.429687500000 +tetekitin.tga 0.820312500000 0.390625000000 0.859375000000 0.429687500000 +to_ammo.tga 0.859375000000 0.390625000000 0.898437500000 0.429687500000 +to_armor.tga 0.898437500000 0.390625000000 0.937500000000 0.429687500000 +to_cooking_pot.tga 0.937500000000 0.390625000000 0.976562500000 0.429687500000 +to_fishing_rod.tga 0.468750000000 0.429687500000 0.507812500000 0.468750000000 +to_forage.tga 0.507812500000 0.429687500000 0.546875000000 0.468750000000 +to_hammer.tga 0.546875000000 0.429687500000 0.585937500000 0.468750000000 +to_jewelry_hammer.tga 0.585937500000 0.429687500000 0.625000000000 0.468750000000 +to_jewels.tga 0.625000000000 0.429687500000 0.664062500000 0.468750000000 +to_leathercutter.tga 0.664062500000 0.429687500000 0.703125000000 0.468750000000 +to_melee.tga 0.703125000000 0.429687500000 0.742187500000 0.468750000000 +to_needle.tga 0.742187500000 0.429687500000 0.781250000000 0.468750000000 +to_pestle.tga 0.781250000000 0.429687500000 0.820312500000 0.468750000000 +to_range.tga 0.820312500000 0.429687500000 0.859375000000 0.468750000000 +to_searake.tga 0.859375000000 0.429687500000 0.898437500000 0.468750000000 +to_spade.tga 0.898437500000 0.429687500000 0.937500000000 0.468750000000 +to_stick.tga 0.937500000000 0.429687500000 0.976562500000 0.468750000000 +to_tunneling_knife.tga 0.000000000000 0.468750000000 0.039062500000 0.507812500000 +to_whip.tga 0.039062500000 0.468750000000 0.078125000000 0.507812500000 +to_wrench.tga 0.078125000000 0.468750000000 0.117187500000 0.507812500000 +TP_caravane.tga 0.117187500000 0.468750000000 0.156250000000 0.507812500000 +TP_kami.tga 0.156250000000 0.468750000000 0.195312500000 0.507812500000 +W_AM_logo.tga 0.195312500000 0.468750000000 0.234375000000 0.507812500000 +w_pa_anklet.tga 0.234375000000 0.468750000000 0.273437500000 0.507812500000 +w_pa_bracelet.tga 0.273437500000 0.468750000000 0.312500000000 0.507812500000 +w_pa_diadem.tga 0.312500000000 0.468750000000 0.351562500000 0.507812500000 +w_pa_earring.tga 0.351562500000 0.468750000000 0.390625000000 0.507812500000 +w_pa_pendant.tga 0.390625000000 0.468750000000 0.429687500000 0.507812500000 +w_pa_ring.tga 0.429687500000 0.468750000000 0.468750000000 0.507812500000 +faction_matis.tga 0.468750000000 0.468750000000 0.500000000000 0.500000000000 +faction_tryker.tga 0.500000000000 0.468750000000 0.531250000000 0.500000000000 +faction_tryton.tga 0.531250000000 0.468750000000 0.562500000000 0.500000000000 +faction_zorai.tga 0.562500000000 0.468750000000 0.593750000000 0.500000000000 +asc_exit.tga 0.593750000000 0.468750000000 0.625000000000 0.500000000000 +asc_rolemastercraft.tga 0.625000000000 0.468750000000 0.656250000000 0.500000000000 +asc_rolemasterfight.tga 0.656250000000 0.468750000000 0.687500000000 0.500000000000 +asc_rolemasterharvest.tga 0.687500000000 0.468750000000 0.718750000000 0.500000000000 +asc_rolemastermagic.tga 0.718750000000 0.468750000000 0.750000000000 0.500000000000 +asc_unknown.tga 0.750000000000 0.468750000000 0.781250000000 0.500000000000 +faction_fyros.tga 0.781250000000 0.468750000000 0.812500000000 0.500000000000 +faction_kami.tga 0.812500000000 0.468750000000 0.843750000000 0.500000000000 +faction_karavan.tga 0.843750000000 0.468750000000 0.875000000000 0.500000000000 +mail.tga 0.875000000000 0.468750000000 0.906250000000 0.492187500000 +ico_aim_homin_feet.tga 0.976562500000 0.078125000000 1.000000000000 0.101562500000 +ico_aim_homin_feint.tga 0.976562500000 0.101562500000 1.000000000000 0.125000000000 +ico_aim_homin_hands.tga 0.976562500000 0.125000000000 1.000000000000 0.148437500000 +ico_aim_homin_head.tga 0.976562500000 0.148437500000 1.000000000000 0.171875000000 +ico_aim_homin_legs.tga 0.976562500000 0.171875000000 1.000000000000 0.195312500000 +mp3.tga 0.976562500000 0.195312500000 1.000000000000 0.218750000000 +ico_aim_kitin_head.tga 0.976562500000 0.218750000000 1.000000000000 0.242187500000 +mp_back_curative.tga 0.976562500000 0.242187500000 1.000000000000 0.265625000000 +mp_back_offensive.tga 0.976562500000 0.265625000000 1.000000000000 0.289062500000 +mp_back_selfonly.tga 0.976562500000 0.289062500000 1.000000000000 0.312500000000 +bk_outpost_brick.tga 0.976562500000 0.312500000000 1.000000000000 0.335937500000 +ico_ammo_bullet.tga 0.976562500000 0.335937500000 1.000000000000 0.359375000000 +ico_ammo_jacket.tga 0.976562500000 0.359375000000 1.000000000000 0.382812500000 +ico_angle.tga 0.976562500000 0.382812500000 1.000000000000 0.406250000000 +ico_anti_magic_shield.tga 0.976562500000 0.406250000000 1.000000000000 0.429687500000 +ico_armor.tga 0.976562500000 0.429687500000 1.000000000000 0.453125000000 +ico_armor_clip.tga 0.976562500000 0.453125000000 1.000000000000 0.476562500000 +ico_armor_heavy.tga 0.906250000000 0.468750000000 0.929687500000 0.492187500000 +ico_armor_kitin.tga 0.929687500000 0.468750000000 0.953125000000 0.492187500000 +ico_armor_light.tga 0.953125000000 0.468750000000 0.976562500000 0.492187500000 +ico_armor_medium.tga 0.976562500000 0.476562500000 1.000000000000 0.500000000000 +ico_armor_penalty.tga 0.875000000000 0.492187500000 0.898437500000 0.515625000000 +ico_armor_shell.tga 0.898437500000 0.492187500000 0.921875000000 0.515625000000 +ico_atys.tga 0.921875000000 0.492187500000 0.945312500000 0.515625000000 +ico_atysian.tga 0.945312500000 0.492187500000 0.968750000000 0.515625000000 +ico_balance_hp.tga 0.468750000000 0.500000000000 0.492187500000 0.523437500000 +ico_barrel.tga 0.492187500000 0.500000000000 0.515625000000 0.523437500000 +ico_bash.tga 0.515625000000 0.500000000000 0.539062500000 0.523437500000 +ico_berserk.tga 0.539062500000 0.500000000000 0.562500000000 0.523437500000 +ico_blade.tga 0.562500000000 0.500000000000 0.585937500000 0.523437500000 +ico_bleeding.tga 0.585937500000 0.500000000000 0.609375000000 0.523437500000 +ico_blind.tga 0.609375000000 0.500000000000 0.632812500000 0.523437500000 +ico_blunt.tga 0.632812500000 0.500000000000 0.656250000000 0.523437500000 +ico_bomb.tga 0.656250000000 0.500000000000 0.679687500000 0.523437500000 +bk_power.tga 0.679687500000 0.500000000000 0.703125000000 0.523437500000 +ico_celestial.tga 0.703125000000 0.500000000000 0.726562500000 0.523437500000 +ico_circular_attack.tga 0.726562500000 0.500000000000 0.750000000000 0.523437500000 +ico_clothes.tga 0.750000000000 0.500000000000 0.773437500000 0.523437500000 +ico_cold.tga 0.773437500000 0.500000000000 0.796875000000 0.523437500000 +ico_concentration.tga 0.796875000000 0.500000000000 0.820312500000 0.523437500000 +2h_over.tga 0.820312500000 0.500000000000 0.843750000000 0.523437500000 +ico_constitution.tga 0.843750000000 0.500000000000 0.867187500000 0.523437500000 +ico_counterweight.tga 0.968750000000 0.500000000000 0.992187500000 0.523437500000 +ico_craft_buff.tga 0.000000000000 0.507812500000 0.023437500000 0.531250000000 +ico_create_sapload.tga 0.023437500000 0.507812500000 0.046875000000 0.531250000000 +ico_curse.tga 0.046875000000 0.507812500000 0.070312500000 0.531250000000 +ico_debuff.tga 0.070312500000 0.507812500000 0.093750000000 0.531250000000 +ico_debuff_resist.tga 0.093750000000 0.507812500000 0.117187500000 0.531250000000 +ico_debuff_skill.tga 0.117187500000 0.507812500000 0.140625000000 0.531250000000 +ico_desert.tga 0.140625000000 0.507812500000 0.164062500000 0.531250000000 +ico_dexterity.tga 0.164062500000 0.507812500000 0.187500000000 0.531250000000 +ico_disarm.tga 0.187500000000 0.507812500000 0.210937500000 0.531250000000 +ico_dodge.tga 0.210937500000 0.507812500000 0.234375000000 0.531250000000 +ico_dot.tga 0.234375000000 0.507812500000 0.257812500000 0.531250000000 +ico_durability.tga 0.257812500000 0.507812500000 0.281250000000 0.531250000000 +ico_electric.tga 0.281250000000 0.507812500000 0.304687500000 0.531250000000 +ico_explosif.tga 0.304687500000 0.507812500000 0.328125000000 0.531250000000 +ico_extracting.tga 0.328125000000 0.507812500000 0.351562500000 0.531250000000 +ico_fear.tga 0.351562500000 0.507812500000 0.375000000000 0.531250000000 +ico_feint.tga 0.375000000000 0.507812500000 0.398437500000 0.531250000000 +ico_fire.tga 0.398437500000 0.507812500000 0.421875000000 0.531250000000 +ico_firing_pin.tga 0.421875000000 0.507812500000 0.445312500000 0.531250000000 +1h_over.tga 0.445312500000 0.507812500000 0.468750000000 0.531250000000 +BK_fyros_brick.tga 0.867187500000 0.515625000000 0.890625000000 0.539062500000 +mp_over_link.tga 0.890625000000 0.515625000000 0.914062500000 0.539062500000 +BK_magie_noire_brick.tga 0.914062500000 0.515625000000 0.937500000000 0.539062500000 +BK_tryker_brick.tga 0.937500000000 0.515625000000 0.960937500000 0.539062500000 +cp_back.tga 0.468750000000 0.523437500000 0.492187500000 0.546875000000 +cp_over_break.tga 0.492187500000 0.523437500000 0.515625000000 0.546875000000 +ico_focus.tga 0.515625000000 0.523437500000 0.539062500000 0.546875000000 +ico_forage_buff.tga 0.539062500000 0.523437500000 0.562500000000 0.546875000000 +ico_forbid_item.tga 0.562500000000 0.523437500000 0.585937500000 0.546875000000 +ico_forest.tga 0.585937500000 0.523437500000 0.609375000000 0.546875000000 +cp_over_less.tga 0.609375000000 0.523437500000 0.632812500000 0.546875000000 +ico_gardening.tga 0.632812500000 0.523437500000 0.656250000000 0.546875000000 +ico_gentle.tga 0.656250000000 0.523437500000 0.679687500000 0.546875000000 +ico_goo.tga 0.679687500000 0.523437500000 0.703125000000 0.546875000000 +ico_gripp.tga 0.703125000000 0.523437500000 0.726562500000 0.546875000000 +cp_over_more.tga 0.726562500000 0.523437500000 0.750000000000 0.546875000000 +cp_over_opening.tga 0.750000000000 0.523437500000 0.773437500000 0.546875000000 +ico_hammer.tga 0.773437500000 0.523437500000 0.796875000000 0.546875000000 +ico_harmful.tga 0.796875000000 0.523437500000 0.820312500000 0.546875000000 +ico_hatred.tga 0.820312500000 0.523437500000 0.843750000000 0.546875000000 +ico_heal.tga 0.843750000000 0.523437500000 0.867187500000 0.546875000000 +ico_hit_rate.tga 0.960937500000 0.523437500000 0.984375000000 0.546875000000 +ico_incapacity.tga 0.000000000000 0.531250000000 0.023437500000 0.554687500000 +ico_intelligence.tga 0.023437500000 0.531250000000 0.046875000000 0.554687500000 +ico_interrupt.tga 0.046875000000 0.531250000000 0.070312500000 0.554687500000 +ico_invulnerability.tga 0.070312500000 0.531250000000 0.093750000000 0.554687500000 +ico_jewel_stone.tga 0.093750000000 0.531250000000 0.117187500000 0.554687500000 +ico_jewel_stone_support.tga 0.117187500000 0.531250000000 0.140625000000 0.554687500000 +ico_jungle.tga 0.140625000000 0.531250000000 0.164062500000 0.554687500000 +ico_lacustre.tga 0.164062500000 0.531250000000 0.187500000000 0.554687500000 +ico_landmark_bonus.tga 0.187500000000 0.531250000000 0.210937500000 0.554687500000 +ico_level.tga 0.210937500000 0.531250000000 0.234375000000 0.554687500000 +ico_lining.tga 0.234375000000 0.531250000000 0.257812500000 0.554687500000 +ico_location.tga 0.257812500000 0.531250000000 0.281250000000 0.554687500000 +ico_madness.tga 0.281250000000 0.531250000000 0.304687500000 0.554687500000 +ico_magic.tga 0.304687500000 0.531250000000 0.328125000000 0.554687500000 +ico_magic_action_buff.tga 0.328125000000 0.531250000000 0.351562500000 0.554687500000 +ico_magic_focus.tga 0.351562500000 0.531250000000 0.375000000000 0.554687500000 +ico_magic_target_buff.tga 0.375000000000 0.531250000000 0.398437500000 0.554687500000 +ico_melee_action_buff.tga 0.398437500000 0.531250000000 0.421875000000 0.554687500000 +ico_melee_target_buff.tga 0.421875000000 0.531250000000 0.445312500000 0.554687500000 +ico_mental.tga 0.445312500000 0.531250000000 0.468750000000 0.554687500000 +no_action.tga 0.867187500000 0.539062500000 0.890625000000 0.562500000000 +op_back.tga 0.890625000000 0.539062500000 0.914062500000 0.562500000000 +op_over_break.tga 0.914062500000 0.539062500000 0.937500000000 0.562500000000 +op_over_less.tga 0.937500000000 0.539062500000 0.960937500000 0.562500000000 +op_over_more.tga 0.468750000000 0.546875000000 0.492187500000 0.570312500000 +ico_metabolism.tga 0.492187500000 0.546875000000 0.515625000000 0.570312500000 +pa_back.tga 0.515625000000 0.546875000000 0.539062500000 0.570312500000 +ico_mezz.tga 0.539062500000 0.546875000000 0.562500000000 0.570312500000 +ico_misfortune.tga 0.562500000000 0.546875000000 0.585937500000 0.570312500000 +cp_over_opening_2.tga 0.585937500000 0.546875000000 0.609375000000 0.570312500000 +pa_over_break.tga 0.609375000000 0.546875000000 0.632812500000 0.570312500000 +pa_over_less.tga 0.632812500000 0.546875000000 0.656250000000 0.570312500000 +pa_over_more.tga 0.656250000000 0.546875000000 0.679687500000 0.570312500000 +bg_downloader.tga 0.679687500000 0.546875000000 0.703125000000 0.570312500000 +BK_zorai_brick.tga 0.703125000000 0.546875000000 0.726562500000 0.570312500000 +ef_back.tga 0.726562500000 0.546875000000 0.750000000000 0.570312500000 +ef_over_break.tga 0.750000000000 0.546875000000 0.773437500000 0.570312500000 +ef_over_less.tga 0.773437500000 0.546875000000 0.796875000000 0.570312500000 +ef_over_more.tga 0.796875000000 0.546875000000 0.820312500000 0.570312500000 +brick_default.tga 0.820312500000 0.546875000000 0.843750000000 0.570312500000 +building_state_24x24.tga 0.843750000000 0.546875000000 0.867187500000 0.570312500000 +cb_main_nue.tga 0.960937500000 0.546875000000 0.984375000000 0.570312500000 +BK_matis_brick.tga 0.000000000000 0.554687500000 0.023437500000 0.578125000000 +ch_back.tga 0.023437500000 0.554687500000 0.046875000000 0.578125000000 +ico_move.tga 0.046875000000 0.554687500000 0.070312500000 0.578125000000 +ico_multiple_spots.tga 0.070312500000 0.554687500000 0.093750000000 0.578125000000 +ico_multi_fight.tga 0.093750000000 0.554687500000 0.117187500000 0.578125000000 +BK_generic_brick.tga 0.117187500000 0.554687500000 0.140625000000 0.578125000000 +ico_opening_hit.tga 0.140625000000 0.554687500000 0.164062500000 0.578125000000 +ico_over_autumn.tga 0.164062500000 0.554687500000 0.187500000000 0.578125000000 +ico_over_degenerated.tga 0.187500000000 0.554687500000 0.210937500000 0.578125000000 +ico_over_fauna.tga 0.210937500000 0.554687500000 0.234375000000 0.578125000000 +ico_over_flora.tga 0.234375000000 0.554687500000 0.257812500000 0.578125000000 +ico_over_hit_arms.tga 0.257812500000 0.554687500000 0.281250000000 0.578125000000 +ico_over_hit_chest.tga 0.281250000000 0.554687500000 0.304687500000 0.578125000000 +ico_over_hit_feet.tga 0.304687500000 0.554687500000 0.328125000000 0.578125000000 +ico_over_hit_feet_hands.tga 0.328125000000 0.554687500000 0.351562500000 0.578125000000 +ico_over_hit_feet_head.tga 0.351562500000 0.554687500000 0.375000000000 0.578125000000 +ico_over_hit_feet_x2.tga 0.375000000000 0.554687500000 0.398437500000 0.578125000000 +ico_over_hit_feint_x3.tga 0.398437500000 0.554687500000 0.421875000000 0.578125000000 +ico_over_hit_hands.tga 0.421875000000 0.554687500000 0.445312500000 0.578125000000 +ico_over_hit_hands_chest.tga 0.445312500000 0.554687500000 0.468750000000 0.578125000000 +ico_over_hit_hands_head.tga 0.867187500000 0.562500000000 0.890625000000 0.585937500000 +ico_over_hit_head.tga 0.890625000000 0.562500000000 0.914062500000 0.585937500000 +ico_over_hit_head_x3.tga 0.914062500000 0.562500000000 0.937500000000 0.585937500000 +ico_over_hit_legs.tga 0.937500000000 0.562500000000 0.960937500000 0.585937500000 +ico_over_homin.tga 0.468750000000 0.570312500000 0.492187500000 0.593750000000 +ico_over_kitin.tga 0.492187500000 0.570312500000 0.515625000000 0.593750000000 +ico_over_magic.tga 0.515625000000 0.570312500000 0.539062500000 0.593750000000 +ico_over_melee.tga 0.539062500000 0.570312500000 0.562500000000 0.593750000000 +ico_over_racial.tga 0.562500000000 0.570312500000 0.585937500000 0.593750000000 +ico_over_range.tga 0.585937500000 0.570312500000 0.609375000000 0.593750000000 +ico_over_special.tga 0.609375000000 0.570312500000 0.632812500000 0.593750000000 +ico_over_spring.tga 0.632812500000 0.570312500000 0.656250000000 0.593750000000 +ico_over_summer.tga 0.656250000000 0.570312500000 0.679687500000 0.593750000000 +ico_over_winter.tga 0.679687500000 0.570312500000 0.703125000000 0.593750000000 +ico_parry.tga 0.703125000000 0.570312500000 0.726562500000 0.593750000000 +ico_piercing.tga 0.726562500000 0.570312500000 0.750000000000 0.593750000000 +ico_pointe.tga 0.750000000000 0.570312500000 0.773437500000 0.593750000000 +ico_poison.tga 0.773437500000 0.570312500000 0.796875000000 0.593750000000 +ico_power.tga 0.796875000000 0.570312500000 0.820312500000 0.593750000000 +ico_preservation.tga 0.820312500000 0.570312500000 0.843750000000 0.593750000000 +ico_primal.tga 0.843750000000 0.570312500000 0.867187500000 0.593750000000 +ico_prime_roots.tga 0.960937500000 0.570312500000 0.984375000000 0.593750000000 +ico_private.tga 0.000000000000 0.578125000000 0.023437500000 0.601562500000 +ico_prospecting.tga 0.023437500000 0.578125000000 0.046875000000 0.601562500000 +ico_quality.tga 0.046875000000 0.578125000000 0.070312500000 0.601562500000 +bk_aura.tga 0.070312500000 0.578125000000 0.093750000000 0.601562500000 +ico_range.tga 0.093750000000 0.578125000000 0.117187500000 0.601562500000 +ico_range_action_buff.tga 0.117187500000 0.578125000000 0.140625000000 0.601562500000 +ico_range_target_buff.tga 0.140625000000 0.578125000000 0.164062500000 0.601562500000 +ico_ricochet.tga 0.164062500000 0.578125000000 0.187500000000 0.601562500000 +ico_root.tga 0.187500000000 0.578125000000 0.210937500000 0.601562500000 +ico_rot.tga 0.210937500000 0.578125000000 0.234375000000 0.601562500000 +ico_safe.tga 0.234375000000 0.578125000000 0.257812500000 0.601562500000 +ico_sap.tga 0.257812500000 0.578125000000 0.281250000000 0.601562500000 +ico_self_damage.tga 0.281250000000 0.578125000000 0.304687500000 0.601562500000 +ico_shaft.tga 0.304687500000 0.578125000000 0.328125000000 0.601562500000 +ico_shielding.tga 0.328125000000 0.578125000000 0.351562500000 0.601562500000 +ico_shield_buff.tga 0.351562500000 0.578125000000 0.375000000000 0.601562500000 +ico_shield_up.tga 0.375000000000 0.578125000000 0.398437500000 0.601562500000 +ico_shockwave.tga 0.398437500000 0.578125000000 0.421875000000 0.601562500000 +ico_sickness.tga 0.421875000000 0.578125000000 0.445312500000 0.601562500000 +ico_slashing.tga 0.445312500000 0.578125000000 0.468750000000 0.601562500000 +ico_slow.tga 0.867187500000 0.585937500000 0.890625000000 0.609375000000 +ico_soft_spot.tga 0.890625000000 0.585937500000 0.914062500000 0.609375000000 +ico_source_time.tga 0.914062500000 0.585937500000 0.937500000000 0.609375000000 +ico_speed.tga 0.937500000000 0.585937500000 0.960937500000 0.609375000000 +ico_speeding_up.tga 0.468750000000 0.593750000000 0.492187500000 0.617187500000 +ico_spell_break.tga 0.492187500000 0.593750000000 0.515625000000 0.617187500000 +fo_back.tga 0.515625000000 0.593750000000 0.539062500000 0.617187500000 +ico_spray.tga 0.539062500000 0.593750000000 0.562500000000 0.617187500000 +ico_spying.tga 0.562500000000 0.593750000000 0.585937500000 0.617187500000 +ico_stamina.tga 0.585937500000 0.593750000000 0.609375000000 0.617187500000 +ico_strength.tga 0.609375000000 0.593750000000 0.632812500000 0.617187500000 +ico_stuffing.tga 0.632812500000 0.593750000000 0.656250000000 0.617187500000 +ico_stunn.tga 0.656250000000 0.593750000000 0.679687500000 0.617187500000 +fo_over.tga 0.679687500000 0.593750000000 0.703125000000 0.617187500000 +fp_ammo.tga 0.703125000000 0.593750000000 0.726562500000 0.617187500000 +fp_armor.tga 0.726562500000 0.593750000000 0.750000000000 0.617187500000 +fp_building.tga 0.750000000000 0.593750000000 0.773437500000 0.617187500000 +fp_jewel.tga 0.773437500000 0.593750000000 0.796875000000 0.617187500000 +fp_melee.tga 0.796875000000 0.593750000000 0.820312500000 0.617187500000 +tb_action_attack.tga 0.820312500000 0.593750000000 0.843750000000 0.617187500000 +tb_action_config.tga 0.843750000000 0.593750000000 0.867187500000 0.617187500000 +tb_action_disband.tga 0.960937500000 0.593750000000 0.984375000000 0.617187500000 +tb_action_disengage.tga 0.000000000000 0.601562500000 0.023437500000 0.625000000000 +tb_action_extract.tga 0.023437500000 0.601562500000 0.046875000000 0.625000000000 +tb_action_invite.tga 0.046875000000 0.601562500000 0.070312500000 0.625000000000 +tb_action_kick.tga 0.070312500000 0.601562500000 0.093750000000 0.625000000000 +tb_action_move.tga 0.093750000000 0.601562500000 0.117187500000 0.625000000000 +tb_action_run.tga 0.117187500000 0.601562500000 0.140625000000 0.625000000000 +tb_action_sit.tga 0.140625000000 0.601562500000 0.164062500000 0.625000000000 +tb_action_stand.tga 0.164062500000 0.601562500000 0.187500000000 0.625000000000 +tb_action_stop.tga 0.187500000000 0.601562500000 0.210937500000 0.625000000000 +tb_action_talk.tga 0.210937500000 0.601562500000 0.234375000000 0.625000000000 +tb_action_walk.tga 0.234375000000 0.601562500000 0.257812500000 0.625000000000 +tb_animals.tga 0.257812500000 0.601562500000 0.281250000000 0.625000000000 +tb_config.tga 0.281250000000 0.601562500000 0.304687500000 0.625000000000 +tb_connection.tga 0.304687500000 0.601562500000 0.328125000000 0.625000000000 +tb_contacts.tga 0.328125000000 0.601562500000 0.351562500000 0.625000000000 +tb_desk_1.tga 0.351562500000 0.601562500000 0.375000000000 0.625000000000 +tb_desk_2.tga 0.375000000000 0.601562500000 0.398437500000 0.625000000000 +tb_desk_3.tga 0.398437500000 0.601562500000 0.421875000000 0.625000000000 +tb_desk_4.tga 0.421875000000 0.601562500000 0.445312500000 0.625000000000 +tb_faction.tga 0.445312500000 0.601562500000 0.468750000000 0.625000000000 +tb_forum.tga 0.867187500000 0.609375000000 0.890625000000 0.632812500000 +tb_guild.tga 0.890625000000 0.609375000000 0.914062500000 0.632812500000 +tb_keys.tga 0.914062500000 0.609375000000 0.937500000000 0.632812500000 +tb_macros.tga 0.937500000000 0.609375000000 0.960937500000 0.632812500000 +tb_mail.tga 0.468750000000 0.617187500000 0.492187500000 0.640625000000 +tb_mode_dodge.tga 0.492187500000 0.617187500000 0.515625000000 0.640625000000 +tb_mode_parry.tga 0.515625000000 0.617187500000 0.539062500000 0.640625000000 +tb_over.tga 0.539062500000 0.617187500000 0.562500000000 0.640625000000 +tb_support.tga 0.562500000000 0.617187500000 0.585937500000 0.640625000000 +tb_team.tga 0.585937500000 0.617187500000 0.609375000000 0.640625000000 +tb_windows.tga 0.609375000000 0.617187500000 0.632812500000 0.640625000000 +fp_over.tga 0.632812500000 0.617187500000 0.656250000000 0.640625000000 +fp_range.tga 0.656250000000 0.617187500000 0.679687500000 0.640625000000 +fp_shield.tga 0.679687500000 0.617187500000 0.703125000000 0.640625000000 +fp_tools.tga 0.703125000000 0.617187500000 0.726562500000 0.640625000000 +bk_conso.tga 0.726562500000 0.617187500000 0.750000000000 0.640625000000 +ico_taunt.tga 0.750000000000 0.617187500000 0.773437500000 0.640625000000 +ico_time.tga 0.773437500000 0.617187500000 0.796875000000 0.640625000000 +ico_time_bonus.tga 0.796875000000 0.617187500000 0.820312500000 0.640625000000 +ico_absorb_damage.tga 0.820312500000 0.617187500000 0.843750000000 0.640625000000 +ico_trigger.tga 0.843750000000 0.617187500000 0.867187500000 0.640625000000 +ico_umbrella.tga 0.960937500000 0.617187500000 0.984375000000 0.640625000000 +ico_use_enchantement.tga 0.000000000000 0.625000000000 0.023437500000 0.648437500000 +ico_vampire.tga 0.023437500000 0.625000000000 0.046875000000 0.648437500000 +ico_visibility.tga 0.046875000000 0.625000000000 0.070312500000 0.648437500000 +ico_war_cry.tga 0.070312500000 0.625000000000 0.093750000000 0.648437500000 +ico_weight.tga 0.093750000000 0.625000000000 0.117187500000 0.648437500000 +ico_wellbalanced.tga 0.117187500000 0.625000000000 0.140625000000 0.648437500000 +ico_will.tga 0.140625000000 0.625000000000 0.164062500000 0.648437500000 +ico_windding.tga 0.164062500000 0.625000000000 0.187500000000 0.648437500000 +ico_wisdom.tga 0.187500000000 0.625000000000 0.210937500000 0.648437500000 +ico_accurate.tga 0.210937500000 0.625000000000 0.234375000000 0.648437500000 +ico_acid.tga 0.234375000000 0.625000000000 0.257812500000 0.648437500000 +us_back_0.tga 0.257812500000 0.625000000000 0.281250000000 0.648437500000 +us_back_1.tga 0.281250000000 0.625000000000 0.304687500000 0.648437500000 +us_back_2.tga 0.304687500000 0.625000000000 0.328125000000 0.648437500000 +us_back_3.tga 0.328125000000 0.625000000000 0.351562500000 0.648437500000 +us_back_4.tga 0.351562500000 0.625000000000 0.375000000000 0.648437500000 +us_back_5.tga 0.375000000000 0.625000000000 0.398437500000 0.648437500000 +us_back_6.tga 0.398437500000 0.625000000000 0.421875000000 0.648437500000 +us_back_7.tga 0.421875000000 0.625000000000 0.445312500000 0.648437500000 +us_back_8.tga 0.445312500000 0.625000000000 0.468750000000 0.648437500000 +us_back_9.tga 0.867187500000 0.632812500000 0.890625000000 0.656250000000 +us_ico_0.tga 0.890625000000 0.632812500000 0.914062500000 0.656250000000 +us_ico_1.tga 0.914062500000 0.632812500000 0.937500000000 0.656250000000 +us_ico_2.tga 0.937500000000 0.632812500000 0.960937500000 0.656250000000 +us_ico_3.tga 0.468750000000 0.640625000000 0.492187500000 0.664062500000 +us_ico_4.tga 0.492187500000 0.640625000000 0.515625000000 0.664062500000 +us_ico_5.tga 0.515625000000 0.640625000000 0.539062500000 0.664062500000 +us_ico_6.tga 0.539062500000 0.640625000000 0.562500000000 0.664062500000 +us_ico_7.tga 0.562500000000 0.640625000000 0.585937500000 0.664062500000 +us_ico_8.tga 0.585937500000 0.640625000000 0.609375000000 0.664062500000 +us_ico_9.tga 0.609375000000 0.640625000000 0.632812500000 0.664062500000 +us_over_0.tga 0.632812500000 0.640625000000 0.656250000000 0.664062500000 +us_over_1.tga 0.656250000000 0.640625000000 0.679687500000 0.664062500000 +us_over_2.tga 0.679687500000 0.640625000000 0.703125000000 0.664062500000 +us_over_3.tga 0.703125000000 0.640625000000 0.726562500000 0.664062500000 +us_over_4.tga 0.726562500000 0.640625000000 0.750000000000 0.664062500000 +ico_aim.tga 0.750000000000 0.640625000000 0.773437500000 0.664062500000 +ico_aim_bird_wings.tga 0.773437500000 0.640625000000 0.796875000000 0.664062500000 +ico_aim_flying_kitin_abdomen.tga 0.796875000000 0.640625000000 0.820312500000 0.664062500000 +ico_aim_homin_arms.tga 0.820312500000 0.640625000000 0.843750000000 0.664062500000 +ico_aim_homin_chest.tga 0.843750000000 0.640625000000 0.867187500000 0.664062500000 +mf_back.tga 0.960937500000 0.640625000000 0.984375000000 0.664062500000 +mf_over.tga 0.000000000000 0.648437500000 0.023437500000 0.671875000000 +W_slot_shortcut_id0.tga 0.023437500000 0.648437500000 0.046875000000 0.671875000000 +W_slot_shortcut_id1.tga 0.046875000000 0.648437500000 0.070312500000 0.671875000000 +W_slot_shortcut_id2.tga 0.070312500000 0.648437500000 0.093750000000 0.671875000000 +W_slot_shortcut_id3.tga 0.093750000000 0.648437500000 0.117187500000 0.671875000000 +W_slot_shortcut_id4.tga 0.117187500000 0.648437500000 0.140625000000 0.671875000000 +W_slot_shortcut_id5.tga 0.140625000000 0.648437500000 0.164062500000 0.671875000000 +W_slot_shortcut_id6.tga 0.164062500000 0.648437500000 0.187500000000 0.671875000000 +W_slot_shortcut_id7.tga 0.187500000000 0.648437500000 0.210937500000 0.671875000000 +W_slot_shortcut_id8.tga 0.210937500000 0.648437500000 0.234375000000 0.671875000000 +W_slot_shortcut_id9.tga 0.234375000000 0.648437500000 0.257812500000 0.671875000000 +w_slot_shortcut_shift_id0.tga 0.257812500000 0.648437500000 0.281250000000 0.671875000000 +w_slot_shortcut_shift_id1.tga 0.281250000000 0.648437500000 0.304687500000 0.671875000000 +w_slot_shortcut_shift_id2.tga 0.304687500000 0.648437500000 0.328125000000 0.671875000000 +w_slot_shortcut_shift_id3.tga 0.328125000000 0.648437500000 0.351562500000 0.671875000000 +w_slot_shortcut_shift_id4.tga 0.351562500000 0.648437500000 0.375000000000 0.671875000000 +w_slot_shortcut_shift_id5.tga 0.375000000000 0.648437500000 0.398437500000 0.671875000000 +w_slot_shortcut_shift_id6.tga 0.398437500000 0.648437500000 0.421875000000 0.671875000000 +w_slot_shortcut_shift_id7.tga 0.421875000000 0.648437500000 0.445312500000 0.671875000000 +w_slot_shortcut_shift_id8.tga 0.445312500000 0.648437500000 0.468750000000 0.671875000000 +w_slot_shortcut_shift_id9.tga 0.867187500000 0.656250000000 0.890625000000 0.679687500000 +ico_source_knowledge.tga 0.890625000000 0.656250000000 0.912109375000 0.679687500000 +small_task_travel.tga 0.984375000000 0.000000000000 1.000000000000 0.015625000000 +small_task_craft.tga 0.984375000000 0.015625000000 1.000000000000 0.031250000000 +small_task_done.tga 0.984375000000 0.031250000000 1.000000000000 0.046875000000 +small_task_failed.tga 0.980468750000 0.046875000000 0.996093750000 0.062500000000 +small_task_fight.tga 0.980468750000 0.062500000000 0.996093750000 0.078125000000 +small_task_forage.tga 0.984375000000 0.523437500000 1.000000000000 0.539062500000 +small_task_generic.tga 0.984375000000 0.539062500000 1.000000000000 0.554687500000 +small_task_guild.tga 0.984375000000 0.554687500000 1.000000000000 0.570312500000 +small_task_rite.tga 0.984375000000 0.570312500000 1.000000000000 0.585937500000 +W_leader.tga 0.984375000000 0.585937500000 0.997070312500 0.597656250000 +tb_mode.tga 0.984375000000 0.597656250000 0.996093750000 0.609375000000 +w_major.tga 0.984375000000 0.609375000000 0.996093750000 0.621093750000 +ge_acc_baniere_em.ps 0.000000000000 0.000000000000 0.000000000000 0.000000000000 +ge_acc_baniere_em - Copie.ps 0.000000000000 0.000000000000 0.000000000000 0.000000000000 diff --git a/code/ryzom/client/data/gamedev/adds/sfx/mp_flower.ps b/code/ryzom/client/data/gamedev/adds/sfx/mp_flower.ps new file mode 100644 index 000000000..5b34ae358 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/sfx/mp_flower.ps differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/FY_Acc_Chaudron_A_1.shape b/code/ryzom/client/data/gamedev/adds/shapes/FY_Acc_Chaudron_A_1.shape new file mode 100644 index 000000000..346a6942c Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/FY_Acc_Chaudron_A_1.shape differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/GE_Mission_Table.shape b/code/ryzom/client/data/gamedev/adds/shapes/GE_Mission_Table.shape new file mode 100644 index 000000000..402e4f026 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/GE_Mission_Table.shape differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/GE_Mission_larvicultor_table.shape b/code/ryzom/client/data/gamedev/adds/shapes/GE_Mission_larvicultor_table.shape new file mode 100644 index 000000000..5fa7f2125 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/GE_Mission_larvicultor_table.shape differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/GE_Tr_Map_Panel.shape b/code/ryzom/client/data/gamedev/adds/shapes/GE_Tr_Map_Panel.shape new file mode 100644 index 000000000..1446b694c Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/GE_Tr_Map_Panel.shape differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/GE_Zo_Map_Table.shape b/code/ryzom/client/data/gamedev/adds/shapes/GE_Zo_Map_Table.shape new file mode 100644 index 000000000..e1fbcbbff Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/GE_Zo_Map_Table.shape differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/GE_mission_scrollmaker.shape b/code/ryzom/client/data/gamedev/adds/shapes/GE_mission_scrollmaker.shape new file mode 100644 index 000000000..6e2abb8fc Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/GE_mission_scrollmaker.shape differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/GE_mission_tente_ZO_rescuer.shape b/code/ryzom/client/data/gamedev/adds/shapes/GE_mission_tente_ZO_rescuer.shape new file mode 100644 index 000000000..962215cbd Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/GE_mission_tente_ZO_rescuer.shape differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/TR_MO_arma_mount.shape b/code/ryzom/client/data/gamedev/adds/shapes/TR_MO_arma_mount.shape new file mode 100644 index 000000000..3d09ba100 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/TR_MO_arma_mount.shape differ diff --git a/code/ryzom/client/data/gamedev/adds/shapes/TR_MO_arma_mount.skel b/code/ryzom/client/data/gamedev/adds/shapes/TR_MO_arma_mount.skel new file mode 100644 index 000000000..e7bce78f3 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/shapes/TR_MO_arma_mount.skel differ diff --git a/code/ryzom/client/data/gamedev/adds/textures/ge_mission_stand_top_scroolmaker.tga b/code/ryzom/client/data/gamedev/adds/textures/ge_mission_stand_top_scroolmaker.tga new file mode 100644 index 000000000..fb391e4d2 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/textures/ge_mission_stand_top_scroolmaker.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/textures/ge_mission_tente_zo_toit_rescuer.tga b/code/ryzom/client/data/gamedev/adds/textures/ge_mission_tente_zo_toit_rescuer.tga new file mode 100644 index 000000000..d24da67ad Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/textures/ge_mission_tente_zo_toit_rescuer.tga differ diff --git a/code/ryzom/client/data/gamedev/adds/textures/ge_mission_tente_zo_wall_rescuer.tga b/code/ryzom/client/data/gamedev/adds/textures/ge_mission_tente_zo_wall_rescuer.tga new file mode 100644 index 000000000..9261a67d9 Binary files /dev/null and b/code/ryzom/client/data/gamedev/adds/textures/ge_mission_tente_zo_wall_rescuer.tga differ diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/info_player.lua b/code/ryzom/client/data/gamedev/interfaces_v3/info_player.lua index 9136bf614..d9f769c78 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/info_player.lua +++ b/code/ryzom/client/data/gamedev/interfaces_v3/info_player.lua @@ -1313,6 +1313,8 @@ end -------------------------------------------------------------------------------------------------------------- function game:setCurrentMission(index) + mw = getMissionWindow() + mw.active = game.InGameDbInitialized if index < self:getGroupMissionFirstIndex() then runAH(nil, "proc", "mission_proc_title|" .. tostring(index)) else @@ -1435,24 +1437,27 @@ end -------------------------------------------------------------------------------------------------------------- -- This is called when a new step is added to the current mission. If so, make sure that the step -- is visible in the listbox -function game:onNewMissionStepAdded(stepIndex) +function game:onNewMissionStepAdded(stepIndex) local missionWnd = getMissionWindow() local missionIndex = getDbProp("UI:SAVE:MISSION_SELECTED") local dbPath + -- debugInfo("New Step") if missionIndex < 15 then dbPath = "SERVER:MISSIONS:" .. tostring(missionIndex) .. ":GOALS:" .. tostring(stepIndex) .. ":TEXT" else dbPath = "SERVER:GROUP:MISSIONS:" .. tostring(missionIndex - 15) .. ":GOALS:" .. tostring(stepIndex) .. ":TEXT" end local stringID = getDbProp(dbPath) - if stringID ~= 0 then + if stringID ~= 0 then + -- debugInfo(tostring(stringID)) table.insert(remainingMissionTextIDs, stringID) setOnDraw(missionWnd, "game:ensureLastMissionStepVisibility0()") else end end -function game:ensureLastMissionStepVisibility0() +function game:ensureLastMissionStepVisibility0() + local missing = false for k, v in pairs(remainingMissionTextIDs) do if not isDynStringAvailable(v) then @@ -1492,7 +1497,7 @@ function game:ensureLastMissionStepVisibility1() topStep = currStep end end - --debugInfo("Found step : " .. topStep.hardtext) + -- debugInfo("Found step : " .. topStep.hardtext) if topStep == nil then return end @@ -1517,6 +1522,95 @@ function game:onNewMissionAdded(missionIndex) debugInfo("Mission " .. missionIndex .. " has been added") end +-------------------------------------------------------------------------------------------------------------- +-- RPJOBS + +function game:addRpJob(jobtype, id, value, rpjobs) + local base_path = "ui:interface:info_player_skills:content:rpjobs:rpjob_"..jobtype.."_"..id..":rpjob_"..jobtype.."_infos_"..id + + local group = getUI("ui:interface:info_player_skills:content:rpjobs:rpjob_"..jobtype.."_"..id) + + if (value == nil) then + group.active = false + else + local name = "rpjob_" .. string.format("%03d", value) + local sitem = name..".sitem" + if (rpjobs[sitem] == nil) then + group.active = false + else + group.active = true + + local echelon_value = rpjobs[sitem][1] + local quantity = rpjobs[sitem][2] + + local maxlevel = (echelon_value*6)-30 + + if (quantity > maxlevel) then + quantity = maxlevel + end + + local base = getUI(base_path..":t") + base.hardtext = i18n.get(name):toUtf8() + local ui = getUI(base_path..":icon") + ui.texture = name..".tga" + local bar = getUI(base_path..":bar3d:level") + bar.color = tostring(math.floor((105*quantity)/maxlevel)).." "..tostring(100+math.floor((155*quantity)/maxlevel)).." "..tostring(math.floor((105*quantity)/maxlevel)).." 255" + bar.w = tostring((368*quantity)/maxlevel) + local t = getUI(base_path..":bar3d:t") + t.hardtext = tostring(quantity).." / "..tostring(maxlevel) + t.color = tostring(255*math.floor(3*(maxlevel-quantity)/maxlevel)).." "..tostring(255*math.floor(3*(maxlevel-quantity)/maxlevel)).." "..tostring(255*math.floor(3*(maxlevel-quantity)/maxlevel)).." 255" + local echelon = getUI(base_path..":echelon_value") + echelon.hardtext = tostring(echelon_value/10) + end + end +end +function game:getRPJobs() + rpjobs_advanced = {} + rpjobs_elementary = {} + rpjobs_roleplay = {} + rpjobs = {} + + for i = 0, 499, 1 do + local sheet = getDbProp("SERVER:INVENTORY:BAG:"..tostring(i)..":SHEET") + if (sheet ~= 0) then + local name = getSheetName(sheet) + if (string.sub(name, 0, 6) == "rpjob_") then + local quality = getDbProp("SERVER:INVENTORY:BAG:"..tostring(i)..":QUALITY") + local quantity = getDbProp("SERVER:INVENTORY:BAG:"..tostring(i)..":QUANTITY") + + if (name == "rpjob_advanced.sitem") then + table.insert(rpjobs_advanced, quality) + else + if (name == "rpjob_elementary.sitem") then + table.insert(rpjobs_elementary, quality) + else + if (name == "rpjob_roleplay.sitem") then + table.insert(rpjobs_roleplay, quality) + else + if rpjobs[name] == nil then + rpjobs[name] = {quality, quantity} + else + if rpjobs[name][1] < quality then + rpjobs[name] = {quality, quantity} + end + end + end + end + end + end + end + end + + for id=1,2,1 do + game:addRpJob("advanced", id, rpjobs_advanced[id], rpjobs) + end + + for id=1,3,1 do + game:addRpJob("elementary", id, rpjobs_elementary[id], rpjobs) + end + + +end diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/info_player.xml b/code/ryzom/client/data/gamedev/interfaces_v3/info_player.xml index 67714cf93..07c1b97be 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/info_player.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/info_player.xml @@ -635,6 +635,16 @@ params_r="" onclick_l="" params_l="" /> + + @@ -1448,7 +1459,41 @@ --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3232,6 +3277,7 @@ action="lua:game:onMissionJournalOpened()" /> + @@ -3350,7 +3396,38 @@ shadow="true" color="255 0 0 255" /> + + + + + + + + + + + + diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/keys.xml b/code/ryzom/client/data/gamedev/interfaces_v3/keys.xml index 4473f2614..5632f3c86 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/keys.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/keys.xml @@ -41,14 +41,14 @@ - - - - - - - - + + + + + + + + diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.wasd.xml b/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.wasd.xml index a45872684..56fe0ae1f 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.wasd.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.wasd.xml @@ -41,14 +41,14 @@ - - - - - - - - + + + + + + + + diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.wow_alike.xml b/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.wow_alike.xml index 712ad6a26..9d23b5ac3 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.wow_alike.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.wow_alike.xml @@ -138,22 +138,22 @@ - - + + - - - - - - + + + + + + - - + + diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.zqsd.xml b/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.zqsd.xml index 75c4929a9..265f6d8f2 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.zqsd.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/keys_bi.zqsd.xml @@ -41,14 +41,14 @@ - - - - - - - - + + + + + + + + diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/login_main.xml b/code/ryzom/client/data/gamedev/interfaces_v3/login_main.xml index 8f68e4a63..e10b4bda2 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/login_main.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/login_main.xml @@ -30,57 +30,49 @@ - - + + - - - - - + - - + + - - - + - - + - - - - - - - @@ -90,7 +82,7 @@ --> - @@ -115,10 +107,10 @@ but_login_support:active" /> - + - - + + @@ -188,7 +180,7 @@ - + @@ -293,7 +285,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t - + @@ -348,7 +340,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t - + @@ -405,7 +397,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t - + @@ -513,7 +505,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t - + @@ -558,7 +550,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t - + @@ -638,7 +630,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t - + @@ -774,7 +766,7 @@ on_enter="leave_modal" options="no_bordure" mouse_pos="false" exit_key_pushed="t --> + global_color="false" color="255 255 255 255" posref="TL TL" x="0" y="0" texture="new_launcher_bg.tga" /> diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/out_v2_crash.xml b/code/ryzom/client/data/gamedev/interfaces_v3/out_v2_crash.xml index afc8d255d..ff7bd5a3c 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/out_v2_crash.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/out_v2_crash.xml @@ -10,7 +10,7 @@ + global_color="false" color="255 255 255 255" posref="TL TL" x="0" y="0" texture="new_launcher_bg.tga" /> diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/texture_interfaces_v3.tga b/code/ryzom/client/data/gamedev/interfaces_v3/texture_interfaces_v3.tga new file mode 100644 index 000000000..93f67233d Binary files /dev/null and b/code/ryzom/client/data/gamedev/interfaces_v3/texture_interfaces_v3.tga differ diff --git a/code/ryzom/client/src/client.vcproj b/code/ryzom/client/src/client.vcproj index 5039a8dab..bcee826f6 100644 --- a/code/ryzom/client/src/client.vcproj +++ b/code/ryzom/client/src/client.vcproj @@ -101,6 +101,93 @@ CommandLine="$(InputDir)\..\..\tools\scripts\windows\tools\replace_vista_icon.exe $(TargetPath) $(InputDir)\ryzom.ico 101" /> + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - Family == ITEMFAMILY::PET_ANIMAL_TICKET) + // If the item is an animal representation or rpjob item + if (pIS!=NULL && ((pIS->Family == ITEMFAMILY::PET_ANIMAL_TICKET) || (pIS->Id.toString().substr(0, 6) == "rpjob_"))) { // cannot move to other animals! :) if(pMoveToBag) pMoveToBag->setActive(false); diff --git a/code/ryzom/client/src/interface_v3/group_html.cpp b/code/ryzom/client/src/interface_v3/group_html.cpp index fca0eb987..2615e2653 100644 --- a/code/ryzom/client/src/interface_v3/group_html.cpp +++ b/code/ryzom/client/src/interface_v3/group_html.cpp @@ -47,6 +47,7 @@ extern "C" #include "../time_client.h" #include "nel/misc/i18n.h" #include "nel/misc/md5.h" +#include "nel/3d/texture_file.h" using namespace std; using namespace NLMISC; @@ -173,7 +174,7 @@ void CGroupHTML::checkImageDownload() // don't display image that are not power of 2 uint32 w, h; CBitmap::loadSize (image, w, h); - if (w == 0 || h == 0 || !NLMISC::isPowerOf2(w) || !NLMISC::isPowerOf2(h)) + if (w == 0 || h == 0 || ((!NLMISC::isPowerOf2(w) || !NLMISC::isPowerOf2(h)) && !NL3D::CTextureFile::supportNonPowerOfTwoTextures())) image.clear(); CCtrlButton *btn = dynamic_cast(it->imgs[i]); @@ -2103,7 +2104,7 @@ void CGroupHTML::addImage(const char *img, bool globalColor) // don't display image that are not power of 2 uint32 w, h; CBitmap::loadSize (image, w, h); - if (w == 0 || h == 0 || !NLMISC::isPowerOf2(w) || !NLMISC::isPowerOf2(h)) + if (w == 0 || h == 0 || ((!NLMISC::isPowerOf2(w) || !NLMISC::isPowerOf2(h)) && !NL3D::CTextureFile::supportNonPowerOfTwoTextures())) image.clear(); newImage->setTexture (image); @@ -2475,12 +2476,13 @@ void CGroupHTML::setTitle (const ucstring &title) CInterfaceElement *parent = getParent(); if (parent) { - parent = parent->getParent(); - - CGroupContainer *container = dynamic_cast(parent); - if (container) + if (parent = parent->getParent()) { - container->setUCTitle (title); + CGroupContainer *container = dynamic_cast(parent); + if (container) + { + container->setUCTitle (title); + } } } } diff --git a/code/ryzom/client/src/interface_v3/group_html_webig.cpp b/code/ryzom/client/src/interface_v3/group_html_webig.cpp index 14579e34d..393b690b6 100644 --- a/code/ryzom/client/src/interface_v3/group_html_webig.cpp +++ b/code/ryzom/client/src/interface_v3/group_html_webig.cpp @@ -66,7 +66,7 @@ static string getWebAuthKey() void addWebIGParams (string &url) { - if(!UserEntity || (NetMngr.getConnectionState() < CNetworkConnection::Connected)) return; + if(!UserEntity || !NetMngr.getLoginCookie().isValid()) return; uint32 cid = NetMngr.getLoginCookie().getUserId() * 16 + PlayerSelectedSlot; url += ((url.find('?') != string::npos) ? "&" : "?") + diff --git a/code/ryzom/client/src/interface_v3/inventory_manager.cpp b/code/ryzom/client/src/interface_v3/inventory_manager.cpp index 0755e2247..2fe27b70a 100644 --- a/code/ryzom/client/src/interface_v3/inventory_manager.cpp +++ b/code/ryzom/client/src/interface_v3/inventory_manager.cpp @@ -1953,6 +1953,10 @@ void initStructForItemSort(vector&vTemp, sint32 sheetId, sint32 qua vTemp[indexInList].Pos += toString("%03d", quality); + // add sort by name + vTemp[indexInList].Pos += CSheetId(sheetId).toString(); + + // add at last the index in DB. to avoid resort for items that are exaclty the same vTemp[indexInList].Pos += toString("%03d", indexInDB); } @@ -2079,6 +2083,10 @@ bool SBagOptions::canDisplay(CDBCtrlSheet *pCS) const if ((pIS->Family == ITEMFAMILY::MISSION_ITEM) || ((pIS->Family == ITEMFAMILY::RAW_MATERIAL) && !pIS->canBuildSomeItemPart())) if (!bFilterMissMP) bDisplay = false; + + // Jobs Items + if (pIS->Id.toString().substr(0, 6) == "rpjob_") + bDisplay = false; } return bDisplay; } diff --git a/code/ryzom/client/src/interface_v3/item_consumable_effect.cpp b/code/ryzom/client/src/interface_v3/item_consumable_effect.cpp index 0356a11a1..bbd664ad5 100644 --- a/code/ryzom/client/src/interface_v3/item_consumable_effect.cpp +++ b/code/ryzom/client/src/interface_v3/item_consumable_effect.cpp @@ -60,20 +60,26 @@ void CItemConsumableEffectHelper::getItemConsumableEffectText(const CItemSheet * if( name == "SP_CHG_CHARAC" ) { - ucstring result = CI18N::get("uiItemConsumableEffectChgCharac"); - CHARACTERISTICS::TCharacteristics charac = CHARACTERISTICS::toCharacteristic(params[0]); string characUIId = "uiCaracId" + toString((uint8)charac); - strFindReplace(result, "%charac", CI18N::get(characUIId)); double param1, param2; fromString(params[1].c_str(), param1); fromString(params[2].c_str(), param2); - uint32 bonus = (uint32)(param1 * itemQuality + param2); - strFindReplace(result, "%bonus", toString(bonus)); + sint32 bonus = (uint32)(param1 * itemQuality + param2); uint32 timeInSec; fromString(params[3].c_str(), timeInSec); + + ucstring result; + + if (bonus >= 0) + result = CI18N::get("uiItemConsumableEffectUpCharac"); + else + result = CI18N::get("uiItemConsumableEffectDownCharac"); + + strFindReplace(result, "%charac", CI18N::get(characUIId)); + strFindReplace(result, "%bonus", toString(bonus)); strFindReplace(result, "%minutes", toString(timeInSec/60)); strFindReplace(result, "%secondes", toString(timeInSec%60)); @@ -81,7 +87,83 @@ void CItemConsumableEffectHelper::getItemConsumableEffectText(const CItemSheet * effects += "\n"; } + if ( name == "SP_LIFE_AURA" ) + { + + uint16 regenMod; + fromString(params[0].c_str(), regenMod); + uint32 duration; + fromString(params[1].c_str(), duration); + uint32 radius; + fromString(params[2].c_str(), radius); + uint32 targetDisableTime; + fromString(params[3].c_str(), targetDisableTime); + uint32 userDisableTime; + fromString(params[4].c_str(), userDisableTime); + ucstring result = CI18N::get("uiItemConsumableEffectLifeAura"); + strFindReplace(result, "%modifier", toString(regenMod)); + strFindReplace(result, "%minutes", toString(duration/60)); + strFindReplace(result, "%secondes", toString(duration%60)); + strFindReplace(result, "%radius", toString(radius)); + strFindReplace(result, "%targetDisableTime", toString(targetDisableTime)); + strFindReplace(result, "%userDisableTime", toString(userDisableTime)); + + effects += result; + effects += "\n"; + } + + if ( name == "SP_STAMINA_AURA" ) + { + + uint16 regenMod; + fromString(params[0].c_str(), regenMod); + uint32 duration; + fromString(params[1].c_str(), duration); + uint32 radius; + fromString(params[2].c_str(), radius); + uint32 targetDisableTime; + fromString(params[3].c_str(), targetDisableTime); + uint32 userDisableTime; + fromString(params[4].c_str(), userDisableTime); + + ucstring result = CI18N::get("uiItemConsumableEffectStaminaAura"); + strFindReplace(result, "%modifier", toString(regenMod)); + strFindReplace(result, "%minutes", toString(duration/60)); + strFindReplace(result, "%secondes", toString(duration%60)); + strFindReplace(result, "%radius", toString(radius)); + strFindReplace(result, "%targetDisableTime", toString(targetDisableTime)); + strFindReplace(result, "%userDisableTime", toString(userDisableTime)); + + effects += result; + effects += "\n"; + } + + if ( name == "SP_SAP_AURA" ) + { + + uint16 regenMod; + fromString(params[0].c_str(), regenMod); + uint32 duration; + fromString(params[1].c_str(), duration); + uint32 radius; + fromString(params[2].c_str(), radius); + uint32 targetDisableTime; + fromString(params[3].c_str(), targetDisableTime); + uint32 userDisableTime; + fromString(params[4].c_str(), userDisableTime); + + ucstring result = CI18N::get("uiItemConsumableEffectSapAura"); + strFindReplace(result, "%modifier", toString(regenMod)); + strFindReplace(result, "%minutes", toString(duration/60)); + strFindReplace(result, "%secondes", toString(duration%60)); + strFindReplace(result, "%radius", toString(radius)); + strFindReplace(result, "%targetDisableTime", toString(targetDisableTime)); + strFindReplace(result, "%userDisableTime", toString(userDisableTime)); + + effects += result; + effects += "\n"; + } // skill modifier consumables //--------------------------- diff --git a/code/ryzom/client/src/net_manager.cpp b/code/ryzom/client/src/net_manager.cpp index a8dac1ad0..5b68eb419 100644 --- a/code/ryzom/client/src/net_manager.cpp +++ b/code/ryzom/client/src/net_manager.cpp @@ -76,6 +76,7 @@ #include "interface_v3/group_map.h" #include "sound_manager.h" #include "interface_v3/group_compas.h" +#include "interface_v3/group_html_webig.h" #include "interface_v3/bar_manager.h" #include "permanent_ban.h" #include "global.h" @@ -702,9 +703,6 @@ void CInterfaceChatDisplayer::displayChat(TDataSetIndex compressedSenderIndex, c colorizeSender(finalString, senderName, col); } - // Log - pIM->log (finalString); - // play associated fx if any if( !stringCategory.empty() ) { @@ -764,7 +762,42 @@ void CInterfaceChatDisplayer::displayChat(TDataSetIndex compressedSenderIndex, c } else { - PeopleInterraction.ChatInput.AroundMe.displayMessage(finalString, col, 2, &windowVisible); + ucstring::size_type index = finalString.find(ucstring("")); + if (index != ucstring::npos) { + bubbleWanted = false; + finalString = finalString.substr(index+6,finalString.size()); + ucstring::size_type index2 = finalString.find(ucstring(" ")); + ucstring playerName; + if (index2 < (finalString.size()-3)) { + playerName = finalString.substr(0,index2); + finalString = finalString.substr(index2+1,finalString.size()); + } + if (!senderName.empty()) + { + CEntityCL *senderEntity = EntitiesMngr.getEntityByName (CEntityCL::removeTitleAndShardFromName(senderName), true, true); + if (senderEntity) { + if (senderEntity->Type != CEntityCL::Player) { + if (playerName.empty()) { + senderEntity->removeStateFx(); + senderEntity->setStateFx(finalString.toString()); + nlinfo("empty"); + } else { + CEntityCL *destEntity = EntitiesMngr.getEntityByName (CEntityCL::removeTitleAndShardFromName(playerName), false, true); + if (destEntity) { + destEntity->removeStateFx(); + destEntity->setStateFx(finalString.toString()); + nlinfo("no empty"); + } + } + } + } + } + finalString = ""; + } + else + { + PeopleInterraction.ChatInput.AroundMe.displayMessage(finalString, col, 2, &windowVisible); + } } // if tell, bkup sendername if (mode == CChatGroup::tell && windowVisible && !senderName.empty()) @@ -786,6 +819,10 @@ void CInterfaceChatDisplayer::displayChat(TDataSetIndex compressedSenderIndex, c { InSceneBubbleManager.chatOpen(compressedSenderIndex, finalRawMessage, bubbleTimer); } + + // Log + pIM->log (finalString); + } @@ -3101,6 +3138,8 @@ void impulseOutpostDeclareWarAck(NLMISC::CBitMemStream &impulse) node->setValue32(timeStartAttack); } +extern void addWebIGParams (string &url); + //----------------------------------------------- //----------------------------------------------- class CServerMessageBoxOnReceiveTextId : public STRING_MANAGER::IStringWaitCallback @@ -3122,8 +3161,37 @@ private: return; // if the string start with a @{Wxxxx} code, remove it and get the wanted window size - sint w= 256; // default size to 256 !! - if(contentStr.size()>=5 && contentStr[0]=='@' && contentStr[1]=='{' && contentStr[2]=='W') + sint w = 256; // default size to 256 !! + bool is_webig = false; + + if(contentStr.size()>=6 && contentStr[0]=='W' && contentStr[1]=='E' && contentStr[2]=='B' + && contentStr[3]==' ' && contentStr[4]==':' && contentStr[5]==' ' ) + { + ucstring web_app; + uint i; + const uint digitStart= 6; + const uint digitMaxEnd= contentStr.size(); + + is_webig = true; + + for(i = digitStart; i < digitMaxEnd; i++) + { + if(contentStr[i] == ' ') + break; + } + nlinfo("%d", i); + if(i != digitMaxEnd) + web_app = contentStr.substr(digitStart, i-digitStart); + else + { + web_app = ucstring("index"); + i = digitStart; + nlinfo("no app"); + } + contentStr = ucstring("http://atys.ryzom.com/start/")+web_app+ucstring(".php?")+contentStr.substr(i+1); + nlinfo("contentStr = %s", contentStr.toString().c_str()); + } + else if(contentStr.size()>=5 && contentStr[0]=='@' && contentStr[1]=='{' && contentStr[2]=='W') { uint i; const uint digitStart= 3; @@ -3143,9 +3211,26 @@ private: } } - // open the message box window + // open the message box window or web ig + CInterfaceManager *pIM= CInterfaceManager::getInstance(); + + if (is_webig) + { + CGroupHTML *groupHtml = dynamic_cast(pIM->getElementFromId("ui:interface:webig:content:html")); + if (groupHtml) + { + + CGroupContainer *pGC = dynamic_cast(pIM->getElementFromId("ui:interface:webig")); + pGC->setActive(true); + + string url = contentStr.toString(); + addWebIGParams(url); + groupHtml->browse(url.c_str()); + pIM->setTopWindow(pGC); + } + } + else { - CInterfaceManager *pIM= CInterfaceManager::getInstance(); CGroupContainer *pGC = dynamic_cast(pIM->getElementFromId("ui:interface:server_message_box")); if (pGC) { diff --git a/code/ryzom/client/src/progress.cpp b/code/ryzom/client/src/progress.cpp index e3c4b706b..0f487b747 100644 --- a/code/ryzom/client/src/progress.cpp +++ b/code/ryzom/client/src/progress.cpp @@ -119,10 +119,30 @@ void drawLoadingBitmap (float progress) LoadingMaterialFull.setAlphaTestThreshold (1.f-progress); CQuadUV quad; - quad.V0.set (0,0,0); - quad.V1.set (1,0,0); - quad.V2.set (1,1,0); - quad.V3.set (0,1,0); + uint wh = Driver->getWindowHeight(); + uint ww = Driver->getWindowWidth(); + //nlinfo("%d x %d", ww, wh); + float x1 = 0; + float y1 = 0; + float x2 = 1; + float y2 = 1; + + if ((ww > 1024) || (wh > 768)) + if ((ww - 1024) > (wh - 768)) + x1 = ((ww - (wh * 1024.f) / 768.f) / 2.f) / ww; + else + y1 = ((wh - (ww * 768.f) / 1024.f) / 2.f) / wh; + + if (x1 != 0) + x2 = 1 - x1; + if (y1 != 0) + y2 = 1 - y1; + + quad.V0.set (x1,y1,0); + quad.V1.set (x2,y1,0); + quad.V2.set (x2,y2,0); + quad.V3.set (x1,y2,0); + quad.Uv0.U= 0; quad.Uv0.V= 0.75f; quad.Uv1.U= 1; @@ -132,6 +152,7 @@ void drawLoadingBitmap (float progress) quad.Uv3.U= 0; quad.Uv3.V= 0; + Driver->drawQuad(0, 0, 1, 1, CRGBA(0, 0, 0, 255)); Driver->drawQuad(quad, LoadingMaterial); Driver->drawQuad(quad, LoadingMaterialFull); } @@ -274,10 +295,10 @@ void CProgress::internalProgress (float value) // Teleport help - fY = ClientCfg.TeleportInfoY; - if (LoadingContinent && !LoadingContinent->Indoor) + //fY = ClientCfg.TeleportInfoY; + if (!ApplyTextCommands && LoadingContinent && !LoadingContinent->Indoor) { - TextContext->setFontSize((uint)(16.f * fontFactor)); + TextContext->setFontSize((uint)(13.f * fontFactor)); // Print some more info uint32 day = RT.getRyzomDay(); @@ -289,6 +310,9 @@ void CProgress::internalProgress (float value) CI18N::get (WeatherManager.getCurrWeatherState().LocalizedName).toUtf8().c_str()); ucstring ucstr; ucstr.fromUtf8 (str); + TextContext->setHotSpot(UTextContext::MiddleBottom); + TextContext->setColor(CRGBA(186, 179, 163, 255)); + TextContext->printAt(0.5f, 25/768.f, ucstr); } // apply text commands @@ -299,16 +323,15 @@ void CProgress::internalProgress (float value) if( !printfCommands.empty() ) { - TextContext->setHotSpot(UTextContext::BottomLeft); + TextContext->setHotSpot(UTextContext::MiddleBottom); vector::iterator itpc; for( itpc = printfCommands.begin(); itpc != printfCommands.end(); ++itpc ) { - // Yoyo: the coordinates entered are though for 1024 - float x = ((*itpc).X / 1024.f); + float x = 0.5f;//((*itpc).X / 1024.f); float y = ((*itpc).Y / 768.f); TextContext->setColor( (*itpc).Color ); - TextContext->setFontSize( (*itpc).FontSize ); + TextContext->setFontSize( (uint)(16.f * fontFactor)); // build the ucstr(s) ucstring ucstr = CI18N::get((*itpc).Text); diff --git a/code/ryzom/common/src/game_share/character_sync_itf.h b/code/ryzom/common/src/game_share/character_sync_itf.h index d11b42633..771d66e59 100644 --- a/code/ryzom/common/src/game_share/character_sync_itf.h +++ b/code/ryzom/common/src/game_share/character_sync_itf.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . ///////////////////////////////////////////////////////////////// // WARNING : this is a generated file, don't change it ! diff --git a/code/ryzom/common/src/game_share/msg_ais_egs_gen.h b/code/ryzom/common/src/game_share/msg_ais_egs_gen.h index 3e7748f7d..99de7c001 100644 --- a/code/ryzom/common/src/game_share/msg_ais_egs_gen.h +++ b/code/ryzom/common/src/game_share/msg_ais_egs_gen.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . ///////////////////////////////////////////////////////////////// // WARNING : this is a generated file, don't change it ! diff --git a/code/ryzom/common/src/game_share/r2_share_itf.h b/code/ryzom/common/src/game_share/r2_share_itf.h index 91d8bab1c..f6be6cb0e 100644 --- a/code/ryzom/common/src/game_share/r2_share_itf.h +++ b/code/ryzom/common/src/game_share/r2_share_itf.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . ///////////////////////////////////////////////////////////////// // WARNING : this is a generated file, don't change it ! diff --git a/code/ryzom/server/server.sln b/code/ryzom/server/server.sln index be7a69816..5fb435f8e 100644 --- a/code/ryzom/server/server.sln +++ b/code/ryzom/server/server.sln @@ -212,12 +212,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "driver_fmod", "..\..\nel\sr EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d", "..\..\nel\src\3d.vcproj", "{2B48BE83-108B-4E8E-8A55-6627CF09AC5A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "admin_service", "..\..\nelns\admin_service\admin_service.vcproj", "{AA03E539-FE77-4B63-BE0E-DE637635E5A9}" - ProjectSection(ProjectDependencies) = postProject - {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} - {67AF56A4-A228-4BFB-BDA8-026CBEDE8BF9} = {67AF56A4-A228-4BFB-BDA8-026CBEDE8BF9} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "monitor_service", "src\monitor_service\monitor_service.vcproj", "{1648BD89-6D2C-441E-9D5A-D83F22F4F5EC}" ProjectSection(ProjectDependencies) = postProject {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} @@ -539,14 +533,6 @@ Global {2B48BE83-108B-4E8E-8A55-6627CF09AC5A}.Release|Win32.Build.0 = Release|Win32 {2B48BE83-108B-4E8E-8A55-6627CF09AC5A}.Release|x64.ActiveCfg = Release|x64 {2B48BE83-108B-4E8E-8A55-6627CF09AC5A}.Release|x64.Build.0 = Release|x64 - {AA03E539-FE77-4B63-BE0E-DE637635E5A9}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA03E539-FE77-4B63-BE0E-DE637635E5A9}.Debug|Win32.Build.0 = Debug|Win32 - {AA03E539-FE77-4B63-BE0E-DE637635E5A9}.Debug|x64.ActiveCfg = Debug|x64 - {AA03E539-FE77-4B63-BE0E-DE637635E5A9}.Debug|x64.Build.0 = Debug|x64 - {AA03E539-FE77-4B63-BE0E-DE637635E5A9}.Release|Win32.ActiveCfg = Release|Win32 - {AA03E539-FE77-4B63-BE0E-DE637635E5A9}.Release|Win32.Build.0 = Release|Win32 - {AA03E539-FE77-4B63-BE0E-DE637635E5A9}.Release|x64.ActiveCfg = Release|x64 - {AA03E539-FE77-4B63-BE0E-DE637635E5A9}.Release|x64.Build.0 = Release|x64 {1648BD89-6D2C-441E-9D5A-D83F22F4F5EC}.Debug|Win32.ActiveCfg = Debug|Win32 {1648BD89-6D2C-441E-9D5A-D83F22F4F5EC}.Debug|Win32.Build.0 = Debug|Win32 {1648BD89-6D2C-441E-9D5A-D83F22F4F5EC}.Debug|x64.ActiveCfg = Debug|x64 diff --git a/code/ryzom/server/src/ai_service/ai_instance.cpp b/code/ryzom/server/src/ai_service/ai_instance.cpp index 0d40f4128..0fc47128d 100644 --- a/code/ryzom/server/src/ai_service/ai_instance.cpp +++ b/code/ryzom/server/src/ai_service/ai_instance.cpp @@ -650,7 +650,7 @@ static float randomAngle() return val; } -CGroupNpc* CAIInstance::eventCreateNpcGroup(uint nbBots, NLMISC::CSheetId const& sheetId, CAIVector const& pos, double dispersionRadius, bool spawnBots) +CGroupNpc* CAIInstance::eventCreateNpcGroup(uint nbBots, NLMISC::CSheetId const& sheetId, CAIVector const& pos, double dispersionRadius, bool spawnBots, double orientation, const std::string &botsName) { if (!_EventNpcManager) return NULL; @@ -681,7 +681,7 @@ CGroupNpc* CAIInstance::eventCreateNpcGroup(uint nbBots, NLMISC::CSheetId const& // build unnamed bot for (uint i=0; ibots().addChild(new CBotNpc(grp, 0, grp->getName()), i); // Doub: 0 instead of getAlias()+i otherwise aliases are wrong + grp->bots().addChild(new CBotNpc(grp, 0, botsName.empty() ? grp->getName():botsName), i); // Doub: 0 instead of getAlias()+i otherwise aliases are wrong CBotNpc* const bot = NLMISC::safe_cast(grp->bots()[i]); @@ -702,7 +702,14 @@ CGroupNpc* CAIInstance::eventCreateNpcGroup(uint nbBots, NLMISC::CSheetId const& if (maxTries<=0) rpos = pos; } - bot->setStartPos(rpos.x().asDouble(),rpos.y().asDouble(), randomAngle(), AITYPES::vp_auto); + + float angle = 0.f; + if (orientation < (NLMISC::Pi * 2.0) && orientation > (-NLMISC::Pi * 2.0)) + angle = orientation; + else + angle = randomAngle(); + + bot->setStartPos(rpos.x().asDouble(),rpos.y().asDouble(), angle, AITYPES::vp_auto); } } @@ -838,25 +845,27 @@ void cbEventCreateNpcGroup( NLNET::CMessage& msgin, const std::string &serviceNa uint32 instanceNumber; sint32 x; sint32 y; - sint32 z; + sint32 orientation; uint32 nbBots; NLMISC::CSheetId sheetId; double dispersionRadius; bool spawnBots; + std::string botsName; msgin.serial(messageVersion); nlassert(messageVersion==1); msgin.serial(instanceNumber); msgin.serial(x); msgin.serial(y); - msgin.serial(z); + msgin.serial(orientation); msgin.serial(nbBots); msgin.serial(sheetId); msgin.serial(dispersionRadius); msgin.serial(spawnBots); + msgin.serial(botsName); CAIInstance* instance = CAIS::instance().getAIInstance(instanceNumber); if (instance) { - instance->eventCreateNpcGroup(nbBots, sheetId, CAIVector((double)x/1000., (double)y/1000.), dispersionRadius, spawnBots); + instance->eventCreateNpcGroup(nbBots, sheetId, CAIVector((double)x/1000., (double)y/1000.), dispersionRadius, spawnBots, (double)orientation/1000., botsName); } } diff --git a/code/ryzom/server/src/ai_service/ai_instance.h b/code/ryzom/server/src/ai_service/ai_instance.h index 98c58651d..ce53d0559 100644 --- a/code/ryzom/server/src/ai_service/ai_instance.h +++ b/code/ryzom/server/src/ai_service/ai_instance.h @@ -207,7 +207,7 @@ public: return NULL; } - CGroupNpc* eventCreateNpcGroup(uint nbBots, NLMISC::CSheetId const& sheetId, CAIVector const& pos, double dispersionRadius, bool spawnBots); + CGroupNpc* eventCreateNpcGroup(uint nbBots, NLMISC::CSheetId const& sheetId, CAIVector const& pos, double dispersionRadius, bool spawnBots, double orientation, const std::string &botsName); /// create a new easter egg CBotEasterEgg* createEasterEgg(uint32 easterEggId, NLMISC::CSheetId const& sheetId, std::string const& botName, double x, double y, double z, double heading, const std::string& look); diff --git a/code/ryzom/server/src/ai_service/commands.cpp b/code/ryzom/server/src/ai_service/commands.cpp index 5ea7837a6..772a5cfed 100644 --- a/code/ryzom/server/src/ai_service/commands.cpp +++ b/code/ryzom/server/src/ai_service/commands.cpp @@ -190,7 +190,7 @@ NLMISC_COMMAND(search, "search all the data tree for a name part","") //---------------------------------------------------------------------------- -NLMISC_COMMAND(eventCreateNpcGroup, "create an event npc group", " [ []]") +NLMISC_COMMAND(eventCreateNpcGroup, "create an event npc group", " [ [ [ []]]]") { if (args.size()<5) return false; @@ -231,7 +231,7 @@ NLMISC_COMMAND(eventCreateNpcGroup, "create an event npc group", " double x = atof(args[3].c_str()); double y = atof(args[4].c_str()); - + double dispersionRadius = 10.; if (args.size()>5) { @@ -248,8 +248,18 @@ NLMISC_COMMAND(eventCreateNpcGroup, "create an event npc group", " { NLMISC::fromString(args[6], spawnBots); } - - aiInstance->eventCreateNpcGroup(nbBots, sheetId, CAIVector(x, y), dispersionRadius, spawnBots); + + double orientation = 6.666; + if (args.size()>7 && args[7] != "random") + { + NLMISC::fromString(args[7], orientation); + orientation = orientation / 360.0 * (NLMISC::Pi * 2.0); + } + + std::string botsName; + if (args.size()>8) botsName = args[8]; + + aiInstance->eventCreateNpcGroup(nbBots, sheetId, CAIVector(x, y), dispersionRadius, spawnBots, orientation, botsName); return true; } diff --git a/code/ryzom/server/src/entities_game_service/admin.cpp b/code/ryzom/server/src/entities_game_service/admin.cpp index 99c3ccd64..24e77f1b4 100644 --- a/code/ryzom/server/src/entities_game_service/admin.cpp +++ b/code/ryzom/server/src/entities_game_service/admin.cpp @@ -5232,7 +5232,7 @@ NLMISC_COMMAND(setFamePlayer, "set the fame value of a player in the given facti //---------------------------------------------------------------------------- -NLMISC_COMMAND(eventCreateNpcGroup, "create an event npc group", " [ []]") +NLMISC_COMMAND(eventCreateNpcGroup, "create an event npc group", " [ [ [ []]]]") { if (args.size () < 3) return false; GET_ENTITY @@ -5240,7 +5240,7 @@ NLMISC_COMMAND(eventCreateNpcGroup, "create an event npc group", " < uint32 instanceNumber = e->getInstanceNumber(); sint32 x = e->getX(); sint32 y = e->getY(); - sint32 z = e->getZ(); + sint32 orientation = 6666; // used to specify a random orientation uint32 nbBots = NLMISC::atoui(args[1].c_str()); if (nbBots<=0) @@ -5275,17 +5275,34 @@ NLMISC_COMMAND(eventCreateNpcGroup, "create an event npc group", " < NLMISC::fromString(args[4], spawnBots); } + if (args.size()>5) + { + if (args[5] == "self") + { + orientation = (sint32)(e->getHeading() * 1000.0); + } + else + { + NLMISC::fromString(args[5], orientation); + orientation = (sint32)((double)orientation / 360.0 * (NLMISC::Pi * 2.0) * 1000.0); + } + } + + std::string botsName; + if (args.size()>6) botsName = args[6]; + CMessage msgout("EVENT_CREATE_NPC_GROUP"); uint32 messageVersion = 1; msgout.serial(messageVersion); msgout.serial(instanceNumber); msgout.serial(x); msgout.serial(y); - msgout.serial(z); + msgout.serial(orientation); msgout.serial(nbBots); msgout.serial(sheetId); msgout.serial(dispersionRadius); msgout.serial(spawnBots); + msgout.serial(botsName); CWorldInstances::instance().msgToAIInstance2(instanceNumber, msgout); return true; diff --git a/code/ryzom/server/src/entities_game_service/mission_manager/mission_step_ai.cpp b/code/ryzom/server/src/entities_game_service/mission_manager/mission_step_ai.cpp index 130ff77b7..7075c6678 100644 --- a/code/ryzom/server/src/entities_game_service/mission_manager/mission_step_ai.cpp +++ b/code/ryzom/server/src/entities_game_service/mission_manager/mission_step_ai.cpp @@ -185,6 +185,7 @@ uint CMissionStepAIMsg::processEvent( const TDataSetRow & userRow, const CMissio if( event.Type == CMissionEvent::AIMsg ) { CMissionEventAIMsg & eventSpe = (CMissionEventAIMsg &) event; + nlwarning("CMissionStepAIMsg : Message from event = '%s', message of mission = '%s'", eventSpe.Msg.c_str(), Msg.c_str()); if ( eventSpe.Msg == Msg ) { LOGMISSIONSTEPSUCCESS("wait_msg"); diff --git a/code/ryzom/server/src/entities_game_service/phrase_manager/timed_actions.cpp b/code/ryzom/server/src/entities_game_service/phrase_manager/timed_actions.cpp index af8cbaa32..2c6439559 100644 --- a/code/ryzom/server/src/entities_game_service/phrase_manager/timed_actions.cpp +++ b/code/ryzom/server/src/entities_game_service/phrase_manager/timed_actions.cpp @@ -425,7 +425,7 @@ bool CConsumeItemTimedAction::validate(CTimedActionPhrase *phrase, CEntityBase * { // check player is sit, on a mektoub or swimming otherwise return false const MBEHAV::EMode mode = player->getMode(); - if (mode != MBEHAV::SIT && mode != MBEHAV::MOUNT_NORMAL && mode != MBEHAV::MOUNT_SWIM && mode != MBEHAV::SWIM) + if (mode != MBEHAV::SIT && mode != MBEHAV::MOUNT_NORMAL && mode != MBEHAV::MOUNT_SWIM && mode != MBEHAV::SWIM && !player->isInWater()) { CCharacter::sendDynamicSystemMessage(player->getId(),"CONSUMABLE_NOT_STAND_UP"); return false; diff --git a/code/ryzom/server/src/ryzom_welcome_service/Makefile b/code/ryzom/server/src/ryzom_welcome_service/Makefile index 913850e01..279986552 100644 --- a/code/ryzom/server/src/ryzom_welcome_service/Makefile +++ b/code/ryzom/server/src/ryzom_welcome_service/Makefile @@ -15,7 +15,7 @@ LDFLAGS = $(LD_FLAGS_CMN) \ -L$(NEL_PATH)/lib \ -L../admin_modules \ -L$(RYZOM_COMMON_SRC)/game_share \ - -lgame_share \ + -lgame_share \ -lnelnet \ -lnelmisc \ -ladmin_modules \ diff --git a/code/ryzom/tools/connection_stats/connection_stats.h b/code/ryzom/tools/connection_stats/connection_stats.h index 704addde4..d745a0cfb 100644 --- a/code/ryzom/tools/connection_stats/connection_stats.h +++ b/code/ryzom/tools/connection_stats/connection_stats.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #ifndef CONNECTION_STATS_H diff --git a/code/ryzom/tools/leveldesign/alias_synchronizer/alias_synchronizer.cpp b/code/ryzom/tools/leveldesign/alias_synchronizer/alias_synchronizer.cpp index c67c26323..7653c964c 100644 --- a/code/ryzom/tools/leveldesign/alias_synchronizer/alias_synchronizer.cpp +++ b/code/ryzom/tools/leveldesign/alias_synchronizer/alias_synchronizer.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "nel/misc/types_nl.h" diff --git a/code/ryzom/tools/leveldesign/georges_dll/georges_interface.h b/code/ryzom/tools/leveldesign/georges_dll/georges_interface.h index 3165424c6..28ab22042 100644 --- a/code/ryzom/tools/leveldesign/georges_dll/georges_interface.h +++ b/code/ryzom/tools/leveldesign/georges_dll/georges_interface.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #ifndef GEORGES_INTERFACE #define GEORGES_INTERFACE diff --git a/code/ryzom/tools/leveldesign/mission_compiler_lib/main.cpp b/code/ryzom/tools/leveldesign/mission_compiler_lib/main.cpp index 4b2eee23f..824a89ef3 100644 --- a/code/ryzom/tools/leveldesign/mission_compiler_lib/main.cpp +++ b/code/ryzom/tools/leveldesign/mission_compiler_lib/main.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "nel/misc/i18n.h" #include "mission_compiler.h" diff --git a/code/ryzom/tools/leveldesign/mission_compiler_lib/step_content.cpp b/code/ryzom/tools/leveldesign/mission_compiler_lib/step_content.cpp index 47bcdf896..19d210f0f 100644 --- a/code/ryzom/tools/leveldesign/mission_compiler_lib/step_content.cpp +++ b/code/ryzom/tools/leveldesign/mission_compiler_lib/step_content.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "mission_compiler.h" #include "step.h" diff --git a/code/ryzom/tools/leveldesign/mission_compiler_lib/steps.cpp b/code/ryzom/tools/leveldesign/mission_compiler_lib/steps.cpp index 72033c57e..10842c97c 100644 --- a/code/ryzom/tools/leveldesign/mission_compiler_lib/steps.cpp +++ b/code/ryzom/tools/leveldesign/mission_compiler_lib/steps.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "mission_compiler.h" diff --git a/code/ryzom/tools/leveldesign/mission_compiler_lib/variables.cpp b/code/ryzom/tools/leveldesign/mission_compiler_lib/variables.cpp index eb6ce6ee4..d4e1e4598 100644 --- a/code/ryzom/tools/leveldesign/mission_compiler_lib/variables.cpp +++ b/code/ryzom/tools/leveldesign/mission_compiler_lib/variables.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "mission_compiler.h" diff --git a/code/ryzom/tools/leveldesign/primitive_id_assignator/primitive_id_assignator.cpp b/code/ryzom/tools/leveldesign/primitive_id_assignator/primitive_id_assignator.cpp index 9d93fdbee..33ee8444e 100644 --- a/code/ryzom/tools/leveldesign/primitive_id_assignator/primitive_id_assignator.cpp +++ b/code/ryzom/tools/leveldesign/primitive_id_assignator/primitive_id_assignator.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "nel/misc/types_nl.h" diff --git a/code/ryzom/tools/leveldesign/uni_conv/uni_conv.cpp b/code/ryzom/tools/leveldesign/uni_conv/uni_conv.cpp index fcfb2e3f4..bbc7953b0 100644 --- a/code/ryzom/tools/leveldesign/uni_conv/uni_conv.cpp +++ b/code/ryzom/tools/leveldesign/uni_conv/uni_conv.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_logic.cpp b/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_logic.cpp index 9e420fec1..f5efa3231 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_logic.cpp +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_logic.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "stdafx.h" diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone.cpp b/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone.cpp index bd34b584d..e6c27a1a7 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone.cpp +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "stdafx.h" #include "nel/misc/object_vector.h" diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone_region.cpp b/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone_region.cpp index 84daa18c2..1c59b47da 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone_region.cpp +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor/builder_zone_region.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "stdafx.h" diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor/display.h b/code/ryzom/tools/leveldesign/world_editor/world_editor/display.h index 71f1796cc..44fdf4208 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor/display.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor/display.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #ifndef DISPLAY_H #define DISPLAY_H diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h b/code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h index 602d926bb..d2c38ca58 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #ifndef NL_PLUGIN_INTERFACE_H diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor/tools_logic.h b/code/ryzom/tools/leveldesign/world_editor/world_editor/tools_logic.h index e1a66af5a..47955e9b4 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor/tools_logic.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor/tools_logic.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #ifndef TOOLSLOGIC_H #define TOOLSLOGIC_H diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor/tools_zone.h b/code/ryzom/tools/leveldesign/world_editor/world_editor/tools_zone.h index d282656e5..9acb2959d 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor/tools_zone.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor/tools_zone.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #ifndef TOOLSZONE_H #define TOOLSZONE_H diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_plugin/plugin.cpp b/code/ryzom/tools/leveldesign/world_editor/world_editor_plugin/plugin.cpp index 1cfd87865..dcfd244d9 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_plugin/plugin.cpp +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_plugin/plugin.cpp @@ -168,6 +168,7 @@ void CPlugin::init(IPluginAccess *pluginAccess) AFX_MANAGE_STATE(AfxGetStaticModuleState()); AfxEnableControlContainer(); _PluginAccess = pluginAccess; + _PluginName="Player Plugin"; //#undef new LoadDlg = new CLoadDialog; //#define new NL_NEW @@ -304,3 +305,41 @@ void CPlugin::onIdle() } } } + +std::string& CPlugin::getName() +{ + return _PluginName; +} + +bool CPlugin::isActive() +{ + return _PluginActive; +} + +bool CPlugin::activatePlugin() +{ + if(!_PluginActive) + { + AFX_MANAGE_STATE(AfxGetStaticModuleState()); + AfxEnableControlContainer(); + + //_DialogFlag->Create(IDD_DIALOG_FLAGS, CWnd::FromHandle(_PluginAccess->getMainWindow()->m_hWnd)); + _DialogFlag->ShowWindow(TRUE); + //_DialogFlag->init(this); + _PluginActive=true; + return true; + } + return false; +} + +bool CPlugin::closePlugin() +{ + if (_PluginActive) + { + //_DialogFlag->CloseWindow(); + _DialogFlag->ShowWindow(FALSE); + _PluginActive=false; + return true; + } + return false; +} diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_plugin/plugin.h b/code/ryzom/tools/leveldesign/world_editor/world_editor_plugin/plugin.h index 9bf7322e3..7e57dd2e7 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_plugin/plugin.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_plugin/plugin.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "nel/sound/u_audio_mixer.h" #include "nel/ligo/primitive.h" @@ -40,12 +55,27 @@ private: /// Sound plugin dialog. CDialogFlags *_DialogFlag; + std::string _PluginName; + + bool _PluginActive; + //NLSOUND::UAudioMixer *_Mixer; /// the position of the listener. //NLMISC::CVector _ListenerPos; virtual void onIdle(); + //getting the name of the plugin + virtual std::string& getName(); + + //testing whether the plugin is active or not (currently in use or not) + virtual bool isActive(); + + + virtual bool activatePlugin(); + + virtual bool closePlugin(); + bool m_Initialized; }; diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.cpp b/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.cpp index 23b7f3c3d..3cc18a60f 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.cpp +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "primitive_plugin.h" diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h b/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h index e4220b541..731566ec6 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "DialogFlags.h" #include "nel/misc/sheet_id.h" diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp b/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp index cbead2b40..8d1dd968e 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "stdafx.h" #include "sound_plugin.h" diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.h b/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.h index c2c11242a..388ae4ada 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "nel/sound/u_audio_mixer.h" #include "nel/ligo/primitive.h" diff --git a/code/ryzom/tools/make_anim_melee_impact/main.cpp b/code/ryzom/tools/make_anim_melee_impact/main.cpp index 87143a106..6b4f6541d 100644 --- a/code/ryzom/tools/make_anim_melee_impact/main.cpp +++ b/code/ryzom/tools/make_anim_melee_impact/main.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . // *************************************************************************** /* diff --git a/code/ryzom/tools/pdr_util/pdr_util.cpp b/code/ryzom/tools/pdr_util/pdr_util.cpp index b72e95afc..974804168 100644 --- a/code/ryzom/tools/pdr_util/pdr_util.cpp +++ b/code/ryzom/tools/pdr_util/pdr_util.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "nel/misc/types_nl.h" #include "nel/misc/path.h" diff --git a/code/ryzom/tools/phrase_generator/skill_tree.cpp b/code/ryzom/tools/phrase_generator/skill_tree.cpp index 9fcc4b5c0..149ae81f9 100644 --- a/code/ryzom/tools/phrase_generator/skill_tree.cpp +++ b/code/ryzom/tools/phrase_generator/skill_tree.cpp @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "skill_tree.h" diff --git a/code/ryzom/tools/reynolds/stdpch.cpp b/code/ryzom/tools/reynolds/stdpch.cpp index 143fb51cd..d4b14ffe2 100644 --- a/code/ryzom/tools/reynolds/stdpch.cpp +++ b/code/ryzom/tools/reynolds/stdpch.cpp @@ -1,2 +1,17 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include "stdpch.h" diff --git a/code/ryzom/tools/reynolds/stdpch.h b/code/ryzom/tools/reynolds/stdpch.h index b4390399f..43d1fe8f7 100644 --- a/code/ryzom/tools/reynolds/stdpch.h +++ b/code/ryzom/tools/reynolds/stdpch.h @@ -1,3 +1,18 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . #include