Uplink-PL.info Wpłać złotówkę, zgarnij alias email!
FAQ Szukaj Użytkownicy Grupy Mapa





Przewodnik po forum /beta/
Napisz nowy temat Odpowiedz do tematu Poprzedni temat :: Następny temat

TEMAT: Patch 1.55 - PL Version ?
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-20, 12:18   Patch 1.55 - PL Version ?

Czytałem że na stronce ma być w download 1.54 , ale nie ma

Witam,

Aktualny Patch to 1.55 , Był post że ma się pojawić patch 1.54 ale coś go nie widzę w dziale download.

Czy jest planowane wydanie tego Patcha w pl wersji ;p ?

If nie to mam pytanie odnośnie spolszczania

//
w którym pliku są misje , przegrzebałem music , patch 1 , data , graphic
, world się nie da :< (Dat -> Zip)

Czy jedynym rozwiązaniem jest hex przy world.dat ?
 
 
Allegro - największe aukcje internetowe, najniższe ceny! Kup i sprzedaj!
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-20, 16:11   

janczarny napisał/a:
Czytałem że na stronce ma być w download 1.54 , ale nie ma
Gdzie tak jest napisane?

janczarny napisał/a:
Czy jedynym rozwiązaniem jest hex przy world.dat ?
A hexuj go sobie, hexuj, tylko najpierw otwórz go w Winampie, wtedy dowiesz się, co w nim jest :P
I byłbym zapomniał, najmniejsza zmiana (o ile nie popsuli tego w PL wersji) world.dat spowoduje, że gra się nie włączy.
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-20, 18:14   

ps napisał/a:
janczarny napisał/a:
Czytałem że na stronce ma być w download 1.54 , ale nie ma
Gdzie tak jest napisane?


http://uplink-pl.info/forum/viewtopic.php?t=826

Jako iż ten post był napisany w Grudniu 06 , Zakładam że ten plik mógł zostać wydany
aczkolwiek nie musiał.


ps napisał/a:
janczarny napisał/a:
Czy jedynym rozwiązaniem jest hex przy world.dat ?
A hexuj go sobie, hexuj, tylko najpierw otwórz go w Winampie, wtedy dowiesz się, co w nim jest :P
I byłbym zapomniał, najmniejsza zmiana (o ile nie popsuli tego w PL wersji) world.dat spowoduje, że gra się nie włączy.



żarty , żartami ^^

w znalazłem odpowiedz na swoje pytanie ^^ .exe gry , albo DevCD ^^ i Visual Studio, (Teoretycznie pytanie zbędne , ale może komuś się przyda)
 
 
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-20, 18:28   

janczarny napisał/a:
Jako iż ten post był napisany w Grudniu 06 , Zakładam że ten plik mógł zostać wydany
aczkolwiek nie musiał.

Plik na pewno jest gdzieś w sieci. Potraktowanie Uplinka hex-edytorem byłoby mało rozsądne, nie ma szans upchnąć nowego obiektu do gotowego kodu (można by było co najwyżej zamienić jeden z istniejących, ale komu chciałoby się to robić?). W dodatku Uplink jest tak pro napisany, że bez drobnych poprawek nie skompilujesz go na obecnym VC++. Ale jak się uprzesz, da radę pod nim skompilować.

Może sie przydać: Visual C++ 2008
(Bez bólu natomiast działa w zabytkowym Visual C++ 6.0, ale tego już chyba nigdzie nie ma).
_________________
Kebabkebabkebabkebabkebabkebab
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-20, 21:15   

ps napisał/a:
janczarny napisał/a:
Jako iż ten post był napisany w Grudniu 06 , Zakładam że ten plik mógł zostać wydany
aczkolwiek nie musiał.

Plik na pewno jest gdzieś w sieci. Potraktowanie Uplinka hex-edytorem byłoby mało rozsądne, nie ma szans upchnąć nowego obiektu do gotowego kodu (można by było co najwyżej zamienić jeden z istniejących, ale komu chciałoby się to robić?). W dodatku Uplink jest tak pro napisany, że bez drobnych poprawek nie skompilujesz go na obecnym VC++. Ale jak się uprzesz, da radę pod nim skompilować.

Może sie przydać: Visual C++ 2008
(Bez bólu natomiast działa w zabytkowym Visual C++ 6.0, ale tego już chyba nigdzie nie ma).



http://forums.introversio...pic.php?t=38380 -

DevCD - jest Wersja 1.55 na specjalnym (Forum Dev) zgodna z VS 2008


// Zaryzykowałem wcześniej zabawę z tamtym DevCD , poprawka robi more błędów ;p
 
 
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-20, 22:16   

Cytat:
DevCD - jest Wersja 1.55 na specjalnym (Forum Dev) zgodna z VS 2008
Jeśli masz dostęp do forum developerów, to owszem.
_________________
Kebabkebabkebabkebabkebabkebab
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-24, 18:39   

Aby uzyskać Access Trzeba Trans action Number i itd. // Może się uda ;d
 
 
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-24, 19:29   

Jest to już potwierdzone doświadczalnie: DevCD v1.31 kompiluje się i działa bezproblemowo przy VC++ 2008 Express, najnowsza wersja jest niepotrzebna. Kompilacja i uruchomienie gry w tym środowisku zajęły mi niewiele ponad godzinę wliczając w to znalezienie płyty z grą (co, biorąc pod uwagę ile trzeba było zrobić, i tak jest bardzo długim okresem czasu).

Dowód na działanie gry:
_________________
Kebabkebabkebabkebabkebabkebab
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-24, 20:44   

po poprawkach pewnie , ja 1h siedziałem i zmieniałem

Bo na czystym kodzie lecą errory o iostream.h , strstrea.h

a jak się zmieni <iostream> , <strstream > i ownage (+ zastosowanie się do kilku sugestii VC++)

i później poleciał error o strukturę ;p


Vistal 2008 Sp1 masz ?


ale jakby się miało DevCD 1.55 to można wydać patcha np. po pl i zrobić swoje spolszczenie :)
Ostatnio zmieniony przez janczarny 2009-08-24, 20:47, w całości zmieniany 2 razy  
 
 
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-24, 20:56   

Mam całe najnowsze Visual Studio 2008 SP1 Express Edition.
O ile czegoś nie pominąłem to aby gra skompilowała się trzeba:
- zmienić stare nagłówki na nowe (iostream.h, strstrea.h, fstream.h i chyba jeszcze stdlib.h gdzieś było => iostream, strstream, fstream i cstdlib)
- usunąć IRCa który uniemożliwia później podlinkowanie gry, zostawić z niego sam interfejs (aby później nie zawieszać gry)
- w redshircie wyrzucić to (nie przeszkadza w kompilacji, ale sypie się później):
Kod:
    // Set completely unbuffered (we do our own)
    setvbuf(input, NULL, _IOFBF, 0);
    setvbuf(output, NULL, _IOFBF, 0);

- w ustawieniach linkera przy otwartym pliku z projektu uplink (alt-f7=>configuration=>linker=>input) dodać do ignorowanych biblioteki LIBC.lib, LIBCD.lib, LIBCP.lib
- w ustawieniach preprocesora, też dla projektu uplink (alt-f7=>configuration=>c++=>preprocessor) zmienić początek additional include directories na właściwy folder
- z folderu Lib w solution explorerze wyrzucić irca, glu32.lib i opengl32.lib, dodać glu32.lib i opengl32.lib z folderu %programfiles%\microsoft sdks\windows\v6.0a\lib
- opróżnić plik Resources/resources.rc
- w dos2unix.cpp zamienic funkcje dos2unixbuf::pbackfail(int) i dos2unixbuf::sync(void) na:
Kod:
int dos2unixbuf::pbackfail(int c) { return c; }

Kod:
int dos2unixbuf::sync() { return 0; }


NIE należy zmieniać nic w Tosserze (za wyjątkiem nagłówków), choć kompilator narzeka czasami na rzekome błędy w nim (gra i tak się uda), jest dobry, choć trochę powolny (są lepsze implementacje drzewa z danymi).

NIE należy przejmować się bezsensownymi warningami kompilatora na temat strcpy, strcat i innych funkcji. Pod żadnym pozorem NIE zmieniać ich na wersje z _s w nazwie.

To chyba wszystko, jak po tym dalej masz błędy to pisz. Mogłem o czymś zapomnieć.
Ostatnio zmieniony przez ps 2009-08-24, 21:02, w całości zmieniany 3 razy  
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-24, 21:12   

irc w polskiej wersji też rozwala aplikacje ;p

spróbujemy , (Dzięki )

Masz dostęp do Dev Forum ?
Ostatnio zmieniony przez janczarny 2009-08-24, 21:25, w całości zmieniany 2 razy  
 
 
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-24, 21:25   

janczarny napisał/a:
Masz dostęp do Dev Forum ?
Nie.
janczarny napisał/a:
irc w polskiej wersji też rozwala aplikacje ;p
Ja przerobiłem to tak, że kliknięcie w przycisk "connect" po prostu nic nie zmienia.

[ Dodano: 2009-08-24, 22:24 ]
janczarny napisał/a:
irc_interface.h
irc_interface.cpp


Nie, trzeba w środku pliku wykasować to, co niepotrzebne.

Poprawiony irc_interface.h
Kod:

#ifndef _included_ircinterface_h
#define _included_ircinterface_h
#pragma warning( disable:4786 )
#include <irc.h>
#include "interface/localinterface/localinterfacescreen.h"
class UplinkIRCMessage;
class UplinkIRCMonitor;
class UplinkIRCUser;
using namespace irc;
#define IRCBUFFERSIZE 200
class IRCInterface : public LocalInterfaceScreen
{
protected:
    static void BackBlackoutDraw    ( Button *button, bool highlighted, bool clicked );
    static void MainTextDraw        ( Button *button, bool highlighted, bool clicked );   
    static void ConnectDraw         ( Button *button, bool highlighted, bool clicked );   
    static void UserListDraw        ( Button *button, bool highlighted, bool clicked );

    static void ConnectClick        ( Button *button );
    static void PostClick           ( Button *button );

    static void TextScrollChange    ( char *name, int newValue );
    static void UserScrollChange    ( char *name, int newValue );
    static void AddEmoticons        ( int row, char *smiley, Image *imgSmiley );
protected:
    static Image *imgSmileyHappy;                           //          :)
    static Image *imgSmileySad;                             //          :(
    static Image *imgSmileyWink;                            //          ;)
public:
    static bool connected;
    static LList<UplinkIRCMessage *> buffer;
    static LList<UplinkIRCUser *> users;
    static char channelName [256];
    static WinsockInit *winSockInit;
    static UplinkIRCMonitor *uplinkIRCMonitor;
public:
    IRCInterface();
    virtual ~IRCInterface();
    void CreateTalkWindow();
    void RemoveTalkWindow();
    bool ReturnKeyPressed ();
    static void AddText ( char *user, char *text,
                      float r = 1.0, float g = 1.0, float b = 1.0 );
    static void ResetUsers          ();
    static void AddUser             ( char *name );
    static void RemoveUser          ( char *name );   
    static UplinkIRCUser *GetUser   ( char *name );
    void Create ();
    void Remove ();
    void Update ();
    bool IsVisible ();
    int  ScreenID ();           
};
class UplinkIRCMessage
{
public:
    UplinkIRCMessage ();
    ~UplinkIRCMessage ();
    void Set ( char *newuser, char *newtext, float r, float g, float b );
public:
    char *user;
    char *text;
    float red;
    float green;
    float blue;
};
class UplinkIRCUser
{
public:
    UplinkIRCUser ();
    ~UplinkIRCUser ();
    void Set ( char *newname );
public:
    char *name;
    int status;
};

#endif


I poprawiony irc_interface.cpp:

Kod:


#ifdef WIN32
#include <windows.h>
#endif

#include <GL/gl.h>

#include <GL/glu.h> /* glu extention library */

#pragma warning( disable:4786 )

#include "redshirt.h"

#include "app/app.h"
#include "app/globals.h"
#include "app/opengl_interface.h"
#include "app/miscutils.h"

#include "options/options.h"

#include "game/game.h"

#include "interface/interface.h"
#include "interface/scrollbox.h"
#include "interface/localinterface/localinterface.h"
#include "interface/localinterface/irc_interface.h"


bool IRCInterface::connected = false;
LList <UplinkIRCMessage *> IRCInterface::buffer;
LList <UplinkIRCUser *> IRCInterface::users;

char IRCInterface::channelName[256];
WinsockInit *IRCInterface::winSockInit = NULL;
Image *IRCInterface::imgSmileyHappy = NULL;
Image *IRCInterface::imgSmileySad = NULL;
Image *IRCInterface::imgSmileyWink = NULL;


#define COLOUR_DEFAULT      0.6, 0.6, 0.6
#define COLOUR_USER         0.7, 0.8, 1.0
#define COLOUR_TEXT         1.0, 1.0, 1.0
#define COLOUR_ACTION       1.0, 0.7, 0.8
#define COLOUR_JOINPART     0.6, 1.0, 0.6
#define COLOUR_TOPIC        1.0, 0.8, 0.7
#define COLOUR_MOTD         0.7, 0.8, 1.0
#define COLOUR_MODE         1.0, 0.8, 0.8


void IRCInterface::MainTextDraw ( Button *button, bool highlighted, bool clicked )
{

    UplinkAssert (button);

    // Clipping

    int screenh = app->GetOptions ()->GetOptionValue ( "graphics_screenheight" );
    glScissor ( button->x, screenh - (button->y + button->height), button->width, button->height );   
    glEnable ( GL_SCISSOR_TEST );

    clear_draw( button->x, button->y, button->width, button->height );
    glColor3f( 1.0, 1.0, 1.0 );
    border_draw( button );

    int mainHeight = screenh * 0.8;
    int numRows = mainHeight / 15 - 1;
    ScrollBox *scrollBox = ScrollBox::GetScrollBox( "ircscroller" );
    if ( !scrollBox ) return;
    int baseOffset = scrollBox->currentIndex;

    for ( int i = 0; i < numRows; ++i ) {

        int thisRow = baseOffset + i + 1;

        if ( buffer.ValidIndex (thisRow) ) {

            UplinkIRCMessage *msg = buffer.GetData(thisRow);
            UplinkAssert (msg);

            int xpos = button->x + 10;
            int ypos = button->y + 10 + i * 15;

            if ( msg->user ) {
                glColor3f( COLOUR_USER );
                GciDrawText ( xpos, ypos, msg->user );
                xpos += 80;
                // TODO : Handle big nick names
            }

            glColor3f( msg->red, msg->green, msg->blue );
              GciDrawText ( xpos, ypos, msg->text );
           
            AddEmoticons ( i, ":)", imgSmileyHappy );
            AddEmoticons ( i, "=)", imgSmileyHappy );
            AddEmoticons ( i, ":-)", imgSmileyHappy );
            AddEmoticons ( i, ":(", imgSmileySad );
            AddEmoticons ( i, ":-(", imgSmileySad );
            AddEmoticons ( i, ";)", imgSmileyWink );

        }

    }

    glDisable ( GL_SCISSOR_TEST );

}

void IRCInterface::AddEmoticons ( int row, char *smiley, Image *imgSmiley )
{

    ScrollBox *scrollBox = ScrollBox::GetScrollBox( "ircscroller" );
    if ( !scrollBox ) return;
    int baseOffset = scrollBox->currentIndex;
    int thisRow = baseOffset + row + 1;

    if ( buffer.ValidIndex (thisRow) ) {

        UplinkIRCMessage *msg = buffer.GetData(thisRow);
        UplinkAssert (msg);

        Button *button = EclGetButton ( "irc_maintext" );
        if ( !button ) return;

        int xpos = button->x + 10;
        int ypos = button->y + 10 + row * 15;
        if ( msg->user ) xpos += 80;
       
        if ( imgSmiley ) {

            char *nextSmiley = strstr ( msg->text, smiley );
           
            while ( nextSmiley ) {
                char textSoFar [256];
                strncpy ( textSoFar, msg->text, (nextSmiley - msg->text) );
                textSoFar [ nextSmiley-msg->text ] = '\x0';
                int smileyXpos = xpos + GciTextWidth ( textSoFar );
                nextSmiley = strstr ( (nextSmiley+2), smiley );

                imgSmiley->Draw ( smileyXpos, ypos - 7 );               
            }
        }
    }
}
void IRCInterface::ConnectDraw ( Button *button, bool highlighted, bool clicked )
{
    if ( connected )
        button->SetCaption( "Disconnect" );
    else
        button->SetCaption( "Connect" );
    button_draw ( button, highlighted, clicked );
}
void IRCInterface::BackBlackoutDraw ( Button *button, bool highlighted, bool clicked )
{
    clear_draw( button->x, button->y, button->width, button->height );
}
void IRCInterface::UserListDraw ( Button *button, bool highlighted, bool clicked )
{
    int screenheight = app->GetOptions ()->GetOptionValue ( "graphics_screenheight" );
    glScissor ( button->x, screenheight - (button->y + button->height), button->width, button->height );
    glEnable ( GL_SCISSOR_TEST );
    LocalInterfaceScreen::BackgroundDraw( button, highlighted, clicked );
    ScrollBox *scrollBox = ScrollBox::GetScrollBox( "irc_userscroll" );
    if ( !scrollBox ) return;
    int baseOffset = scrollBox->currentIndex;
    int numRows = (button->height - 20) / 17;
    if ( connected ) {
        int xpos = button->x + 20;
        for ( int i = 0; i < numRows; ++i ) {
            if ( users.ValidIndex( i + baseOffset ) ) {
                int ypos = button->y + 20 + i * 17;
                if ( users.GetData(i + baseOffset)->status == 0 )
                    glColor3f ( 1.0, 1.0, 1.0 );
                else
                    glColor3f ( 1.0, 0.5, 0.5 );
                GciDrawText ( xpos, ypos, users.GetData(i + baseOffset)->name );
            }
        }
    }
    glDisable ( GL_SCISSOR_TEST );
}
void IRCInterface::ConnectClick ( Button *button )
{
}
void IRCInterface::PostClick ( Button *button )
{
}
void IRCInterface::TextScrollChange ( char *name, int newValue )
{
    EclDirtyButton ( "irc_maintext" );
}
void IRCInterface::UserScrollChange ( char *name, int newValue )
{
    EclDirtyButton ( "irc_userlist" );
}
void IRCInterface::AddText ( char *user, char *text, float r, float g, float b )
{
    UplinkAssert (text);
    int screenw = app->GetOptions ()->GetOptionValue ("graphics_screenwidth");
    int screenh = app->GetOptions ()->GetOptionValue ("graphics_screenheight");
    int mainWidth = screenw * 0.65;
    int mainHeight = screenh * 0.8;
    LList <char *> *wrapped = wordwraptext( text, mainWidth );
    int numLines = wrapped->Size();
    for ( int i = 0; i < numLines; ++i ) {
        char *theLine = wrapped->GetData(i);
        UplinkAssert (theLine);
        if ( strlen(theLine) > 1 ) {
            UplinkIRCMessage *msg = new UplinkIRCMessage ();
            char *thisuser = ( i == 0 ? user : NULL );
            msg->Set ( thisuser, theLine, r, g, b );
            buffer.PutDataAtEnd( msg );
        }
    }
    delete wrapped;
    while ( buffer.ValidIndex( IRCBUFFERSIZE ) ) {
        UplinkIRCMessage *msg = buffer.GetData( 0 );
        delete msg;
        buffer.RemoveData( 0 );
    }
    ScrollBox *scrollBox = ScrollBox::GetScrollBox( "ircscroller" );
    if ( scrollBox ) {
        bool viewingNewest = false;
        if ( scrollBox->currentIndex == scrollBox->numItems - scrollBox->windowSize )
            viewingNewest = true;
        scrollBox->SetNumItems( buffer.Size() );       
        if ( viewingNewest )
            scrollBox->SetCurrentIndex( buffer.Size() - scrollBox->windowSize );
    }
    EclDirtyButton ( "irc_maintext" );
}
void IRCInterface::ResetUsers ()
{
    while ( users.ValidIndex(0) ) {
        UplinkIRCUser *user = users.GetData(0);
        delete user;
        users.RemoveData(0);
    }
    ScrollBox *scrollBox = ScrollBox::GetScrollBox( "irc_userscroll" );
    if ( scrollBox ) scrollBox->SetNumItems( users.Size() );
    EclDirtyButton ( "irc_userlist" );
}
void IRCInterface::AddUser ( char *name )
{
    UplinkIRCUser *userExists = GetUser (name);
    if ( userExists ) return;
    if ( strlen(name) < 2 ) return;
    UplinkIRCUser *user = new UplinkIRCUser ();
    if ( name[0] == '@' ) {
        user->Set (name+1);
        user->status = 1;
    }
    else
        user->Set( name );
    bool inserted = false;
    char *lowerCaseName = LowerCaseString (name);
    for ( int i = 0; i < users.Size(); ++i ) {
        UplinkIRCUser *thisUser = users.GetData(i);
        UplinkAssert (thisUser);
        char *lowerCaseThisUser = LowerCaseString ( thisUser->name );
        if ( ( user->status == 1 && thisUser->status == 0 )                                                            ||
             (user->status == 1 && thisUser->status == 1 && strcmp ( lowerCaseName, lowerCaseThisUser ) < 0 )          ||
             (user->status == 0 && thisUser->status == 0 && strcmp ( lowerCaseName, lowerCaseThisUser ) < 0 ) ) {
            users.PutDataAtIndex ( user, i );
            inserted = true;
            delete [] lowerCaseThisUser;
            break;
        }
        delete [] lowerCaseThisUser;
    }
    if ( !inserted ) users.PutDataAtEnd ( user );
    delete [] lowerCaseName;
    ScrollBox *scrollBox = ScrollBox::GetScrollBox( "irc_userscroll" );
    if ( scrollBox ) scrollBox->SetNumItems( users.Size() );
    EclDirtyButton ( "irc_userlist" );
}
void IRCInterface::RemoveUser ( char *name )
{
    for ( int i = 0; i < users.Size(); ++i ) {
        UplinkIRCUser *user = users.GetData(i);
        UplinkAssert (user);
        if ( strcmp ( user->name, name ) == 0 ) {
            users.RemoveData( i );
            ScrollBox *scrollBox = ScrollBox::GetScrollBox( "irc_userscroll" );
            if ( scrollBox ) scrollBox->SetNumItems( users.Size() );
            return;
        }
    }
}
UplinkIRCUser *IRCInterface::GetUser ( char *name )
{
    for ( int i = 0; i < users.Size(); ++i ) {
        UplinkIRCUser *user = users.GetData(i);
        UplinkAssert (user);
        if ( strcmp ( user->name, name ) == 0 )
            return user;       
    }
    return NULL;
}
UplinkIRCMessage::UplinkIRCMessage ()
{
    user = NULL;
    text = NULL;
}
UplinkIRCMessage::~UplinkIRCMessage ()
{
    if ( user ) delete [] user;
    if ( text ) delete [] text;
}
void UplinkIRCMessage::Set ( char *newuser, char *newtext, float r, float g, float b )
{
    if ( user ) delete [] user;
    user = NULL;
    if ( newuser ) {
        user = new char [strlen(newuser)+1];
        strcpy ( user, newuser );
    }
    if ( text ) delete [] text;
    text = NULL;
    if ( newtext ) {
        text = new char [strlen(newtext)+1];
        strcpy ( text, newtext );
    }
    red = r;
    green = g;
    blue = b;
}
UplinkIRCUser::UplinkIRCUser ()
{
    name = NULL;
    status = 0;
}
UplinkIRCUser::~UplinkIRCUser ()
{
    if ( name ) delete [] name;
}
void UplinkIRCUser::Set ( char *newname )
{
}
IRCInterface::IRCInterface()
{
}
IRCInterface::~IRCInterface()
{
}
void IRCInterface::CreateTalkWindow()
{
    int screenw = app->GetOptions ()->GetOptionValue ("graphics_screenwidth");
    int screenh = app->GetOptions ()->GetOptionValue ("graphics_screenheight");
    int mainWidth = screenw * 0.65;
    int mainHeight = screenh * 0.8;
    EclRegisterButton ( 30, 30, mainWidth - 15, mainHeight, " ", " ", "irc_maintext" );
    EclRegisterButtonCallbacks ( "irc_maintext", MainTextDraw, NULL, NULL, NULL );
    int numRows = mainHeight / 15;
    ScrollBox::CreateScrollBox( "ircscroller",
                                (30 + mainWidth) - 15, 30, 15, mainHeight,
                                buffer.Size(), numRows, buffer.Size() - numRows,
                                TextScrollChange );               
    EclRegisterButton ( 30, mainHeight + 30, mainWidth - 50, 15, " ", "Enter your text here", "irc_inputbox" );
    EclRegisterButtonCallbacks ( "irc_inputbox", textbutton_draw, NULL, button_click, button_highlight );
    EclMakeButtonEditable ( "irc_inputbox" );
    EclRegisterButton ( (30 + mainWidth) - 50, mainHeight + 30, 50, 15, "Post", "Click to post your message", "irc_postbutton" );
    EclRegisterButtonCallback ( "irc_postbutton", PostClick );
}
void IRCInterface::RemoveTalkWindow()
{
    EclRemoveButton ( "irc_maintext" );
    EclRemoveButton ( "irc_inputbox" );
    EclRemoveButton ( "irc_postbutton" );
    ScrollBox::RemoveScrollBox( "ircscroller" ); 
}
bool IRCInterface::ReturnKeyPressed ()
{
    PostClick ( NULL );
    return true;
}
void IRCInterface::Create ()
{
    if ( !IsVisible() ) {
        int screenw = app->GetOptions ()->GetOptionValue ("graphics_screenwidth");
        int screenh = app->GetOptions ()->GetOptionValue ("graphics_screenheight");
        int paneltop = 100.0 * ( (screenw * PANELSIZE) / 188.0 ) + 30;
        int panelwidth = screenw * PANELSIZE;
        EclRegisterButton ( screenw - panelwidth - 3, paneltop, panelwidth, 15, "INTERNET RELAY CHAT", "Remove the IRC screen", "irc_title" );
        int mainWidth = screenw * 0.65;
        int mainHeight = screenh * 0.8;
        EclRegisterButton ( 0, 30, mainWidth, mainHeight, " ", " ", "irc_backblackout" );
        EclRegisterButtonCallbacks ( "irc_backblackout", BackBlackoutDraw, NULL, NULL, NULL );
        EclRegisterButton ( screenw - panelwidth - 3, paneltop + 20, panelwidth - 15, 370, "USERS", " ", "irc_userlist" );
        EclRegisterButtonCallbacks ( "irc_userlist", UserListDraw, NULL, NULL, NULL );
        int numUsers = 350 / 17;
        ScrollBox::CreateScrollBox( "irc_userscroll",
                                    screenw - 18, paneltop + 20, 15, 370,
                                    users.Size(), numUsers, 0,
                                    UserScrollChange );
        EclRegisterButton ( screenw - panelwidth - 3, paneltop + 400, panelwidth, 15, "CONNECT", "Click to connect/disconnect", "irc_connect" );
        EclRegisterButtonCallbacks ( "irc_connect", ConnectDraw, ConnectClick, button_click, button_highlight );
        EclRegisterButton ( 30, 150, 100, 15, "Server", "The location of the server to connect to", "irc_servertitle" );
        EclRegisterButton ( 30, 170, 100, 15, "Port", "The port to connect on", "irc_porttitle" );
        EclRegisterButton ( 30, 190, 100, 15, "Channel", "The name of the channel to join", "irc_channeltitle" );
        EclRegisterButton ( 30, 210, 100, 15, "Nickname", "Your nickname", "irc_nicknametitle" );
        EclRegisterButton ( 30, 230, 100, 15, "RealName", "Your real name", "irc_fullnametitle" );

        EclRegisterButton ( 130, 150, 300, 15, "irc.openprojects.net", "Enter the Server name here", "irc_server" );
        EclRegisterButton ( 130, 170, 300, 15, "6667", "Enter the port number here", "irc_port" );
        EclRegisterButton ( 130, 190, 300, 15, "#uplink", "Enter the channel name here", "irc_channel" );
        EclRegisterButton ( 130, 210, 300, 15, "My Nickname", "Enter your nickname here", "irc_nickname" );
        EclRegisterButton ( 130, 230, 300, 15, "My Real Name", "Enter your real name here", "irc_fullname" );

        EclRegisterButtonCallbacks ( "irc_server", textbutton_draw, NULL, button_click, button_highlight );
        EclRegisterButtonCallbacks ( "irc_port", textbutton_draw, NULL, button_click, button_highlight );
        EclRegisterButtonCallbacks ( "irc_channel", textbutton_draw, NULL, button_click, button_highlight );
        EclRegisterButtonCallbacks ( "irc_nickname", textbutton_draw, NULL, button_click, button_highlight );
        EclRegisterButtonCallbacks ( "irc_fullname", textbutton_draw, NULL, button_click, button_highlight );
        EclMakeButtonEditable ( "irc_server" );
        EclMakeButtonEditable ( "irc_port" );
        EclMakeButtonEditable ( "irc_channel" );
        EclMakeButtonEditable ( "irc_nickname" );
        EclMakeButtonEditable ( "irc_fullname" );
        if ( connected ) CreateTalkWindow ();
        if ( !imgSmileyHappy ) {   
            imgSmileyHappy = new Image ();   
            char *filename = app->GetOptions ()->ThemeFilename ("irc/smileyhappy.tif");
            imgSmileyHappy->LoadTIF ( RsArchiveFileOpen ( filename ) );
            delete [] filename;
        }
        if ( !imgSmileySad ) {
            imgSmileySad = new Image ();   
            char *filename = app->GetOptions ()->ThemeFilename ("irc/smileysad.tif");
            imgSmileySad->LoadTIF ( RsArchiveFileOpen ( filename ) );     
            delete [] filename;
        }
        if ( !imgSmileyWink )
        {   
            char *filename = app->GetOptions ()->ThemeFilename ("irc/smileywink.tif");
            imgSmileyWink = new Image ();   
            imgSmileyWink->LoadTIF ( RsArchiveFileOpen ( filename ) );
        }
    }
}
void IRCInterface::Remove ()
{
    if ( IsVisible() ) {
        EclRemoveButton ( "irc_title" );
        EclRemoveButton ( "irc_backblackout" );
        EclRemoveButton ( "irc_connect" );
        EclRemoveButton ( "irc_servertitle" );
        EclRemoveButton ( "irc_porttitle" );
        EclRemoveButton ( "irc_channeltitle" );
        EclRemoveButton ( "irc_nicknametitle" );
        EclRemoveButton ( "irc_fullnametitle" );
        EclRemoveButton ( "irc_server" );   
        EclRemoveButton ( "irc_port" );
        EclRemoveButton ( "irc_channel" );
        EclRemoveButton ( "irc_nickname" );
        EclRemoveButton ( "irc_fullname" );
        EclRemoveButton ( "irc_userlist" );
        ScrollBox::RemoveScrollBox( "irc_userscroll" );
        RemoveTalkWindow ();
        if ( imgSmileyHappy )   {   delete imgSmileyHappy;      imgSmileyHappy = NULL;  }
        if ( imgSmileySad )     {   delete imgSmileySad;        imgSmileySad = NULL;    }
        if ( imgSmileyWink )    {   delete imgSmileyWink;       imgSmileyWink = NULL;   }
    }       
}
void IRCInterface::Update ()
{   
#ifndef WIN32
    CCrossThreadsMessagingDevice::ProcessMessages ();
#endif
}
bool IRCInterface::IsVisible ()
{
    return ( EclGetButton("irc_title") != NULL );
}
int  IRCInterface::ScreenID ()
{
    return SCREEN_IRC;
}


To tak na szybko, ale działa.
_________________
Kebabkebabkebabkebabkebabkebab
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-24, 21:46   

Błędy się posypały ;p

nie zdefiniowane funkcje etc.

// log

http://www.wklejto.pl/41240
Ostatnio zmieniony przez janczarny 2009-08-24, 21:54, w całości zmieniany 2 razy  
 
 
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-24, 21:56   

Tam gdzie się pluje o niezdefiniowane funkcje po wszystkich nagłówkach (pod #include'ami) dopisz:
Kod:
using namespace std;
_________________
Kebabkebabkebabkebabkebabkebab
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-24, 22:00   

Now

7 Success 2 Fail

http://www.wklejto.pl/41251
Ostatnio zmieniony przez janczarny 2009-08-24, 22:29, w całości zmieniany 4 razy  
 
 
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-24, 22:07   

Gdzie?
BTW: Uplink nie skompiluje się jeśli dasz F7 lub klikniesz Build Solution, musisz używać "Build Uplink" albo "Start Debugging" (F5).

(jak ilość błędów spadnie do kilkunastu, wklejaj po jednym razem z okolicą miejsca, gdzie występuje, będzie mi wtedy łatwiej sprawdzić, czemu tak się dzieje)
_________________
Kebabkebabkebabkebabkebabkebab
Ostatnio zmieniony przez ps 2009-08-24, 22:09, w całości zmieniany 1 raz  
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-24, 22:31   

http://www.wklejto.pl/41253

Tutaj masz log po F5

dziwi mnie problem decode.sbr


Bardzo krótki log
Ostatnio zmieniony przez janczarny 2009-08-24, 22:38, w całości zmieniany 1 raz  
 
 
ps 
Admin


Pomógł: 24 razy
Dołączył: 05 Sie 2005
Posty: 680
Wysłany: 2009-08-24, 22:37   

mainmenu/closing_interface.cpp
Linię, w której jest błąd zamień na:
Kod:
int captionNumber = (int) fmod(static_cast<double>(count), static_cast<double>(7));


app/miscutils.cpp
Linię, w której jest błąd zamień na:
Kod:
const char *firstcr = strchr ( thestring, '\n' );


To decode.sbr powinno samo zniknąć. Możliwe, że teraz pojawią sie jeszcze jakieś błędy linkera, ale raczej nie sądzę.
_________________
Kebabkebabkebabkebabkebabkebab
 
 
 
janczarny 
Confident

Dołączył: 19 Sie 2009
Posty: 21
Wysłany: 2009-08-24, 22:47   

Odpaliło ;]



i breakpoint (Status in the world)


<Dzięki za pomoc>

// Trza by upolować 1.55 i wypuścić własne spolszczenie ;]
Ostatnio zmieniony przez janczarny 2009-08-24, 22:54, w całości zmieniany 3 razy  
 
 
Anawriel 
Registered

Dołączył: 20 Lis 2009
Posty: 1
Wysłany: 2009-11-20, 13:31   

Jak by ktoś reflektował na update EN w wersji 1.55 to mam go w formie instalatorka :) Nie mniej jednak jestem pełen nadziei iż powstanie ten path PL :) tylko myślę ze trzeba by się uśmiechnąć o pomoc do takich osób jak 'ps'
_________________
Czy jesteś kamieniem, czy ziarenkiem piasku - w wodzie utoniesz tak samo.
 
 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku







sdrojg
#góra