Oryginalna strona colobot.cba.pl umarła, gdy cba.pl przestało oferować darmowy hosting. To jest statyczny mirror, pobrany w 2018. ~krzys_h
 Polski Portal COLOBOTa - COLOBOT Polish Portal
Forum - Polski Portal COLOBOTa
Strona głównaStrona główna UżytkownicyUżytkownicy GrupyGrupy StatystykiStatystyki


Poprzedni temat «» Następny temat
Petycja do Epsiteca
Autor Wiadomość
Programerus 
Jestem Bogiem


Pomógł: 2 razy
Wiek: 22
Dołączył: 28 Mar 2009
Posty: 188
Skąd: Kołobrzeg
Wysłany: 05-04-2009, 20:20   

Poczytałem trochę i kodu źródłowego z pliku .exe po prostu nie da się wyciągnąć. Dlatego pytam się, czy ktoś wie w jakim języku napisany był Colobot?
_________________
"Tylko bogaci mogą mówić mi, że pieniądz nie daje szczęścia"
 
 
     
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 05-04-2009, 21:31   

Hmm..... w CBOT? :-D
 
 
     
Programerus 
Jestem Bogiem


Pomógł: 2 razy
Wiek: 22
Dołączył: 28 Mar 2009
Posty: 188
Skąd: Kołobrzeg
Wysłany: 05-04-2009, 21:38   

Taa... Colobot przechodzi z gry do reala :-)
_________________
"Tylko bogaci mogą mówić mi, że pieniądz nie daje szczęścia"
 
 
     
DemoLisH
Zbanowany


Wiek: 24
Dołączył: 20 Kwi 2008
Posty: 273
Skąd: Poznań
Wysłany: 05-04-2009, 22:47   

Programer napisał/a:
Poczytałem trochę i kodu źródłowego z pliku .exe po prostu nie da się wyciągnąć. Dlatego pytam się, czy ktoś wie w jakim języku napisany był Colobot?

na 99.99% w c++
_________________
Compiling [Gość.exe]...

Zapraszam na grę zwaną League of Legends:
http://signup.leagueofleg...e98cec278372604
 
 
     
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 06-04-2009, 08:24   

To w C++ da się gry robić?(pytam sie bo się nie znam)
 
 
     
Programerus 
Jestem Bogiem


Pomógł: 2 razy
Wiek: 22
Dołączył: 28 Mar 2009
Posty: 188
Skąd: Kołobrzeg
Wysłany: 06-04-2009, 13:12   

W C++ da się robić prawie wszystko. Zresztą Epsitec rzeczywiście tworzył Colobota w C++ bo pisało w tej historii firmy, że przerzucają się z języka C na C++
_________________
"Tylko bogaci mogą mówić mi, że pieniądz nie daje szczęścia"
 
 
     
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 06-04-2009, 13:15   

To znaczy, że możemy dekompilować exe'ka, i brać się za C2? Czy o to chodzi z tym kodem źródłowym? Bo już się całkiem pogubiłem :-?
 
 
     
Programerus 
Jestem Bogiem


Pomógł: 2 razy
Wiek: 22
Dołączył: 28 Mar 2009
Posty: 188
Skąd: Kołobrzeg
Wysłany: 06-04-2009, 13:32   

1. Pliku .exe nie da się zdekompilować
2. Kod źródłowy moglibyśmy dostać tylko od manty lub epsiteca.
3. Czyli rozwiązanie jest jedno. Jeśli chcemy zrobić coś nowego to musimy napisać Colobota od nowa.
_________________
"Tylko bogaci mogą mówić mi, że pieniądz nie daje szczęścia"
 
 
     
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 06-04-2009, 14:41   

Czyli zostajemy przy bawieniu się userami.
 
 
     
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 06-04-2009, 14:41   

Programer napisał/a:
1. Pliku .exe nie da się zdekompilować

Tu się nie zgodzę. Plik exe MOŻNA dekompilować, tylko z czytelnością kodu będzie gorzej (będą identyfikatory typu "local002" zamiast nazw zmiennych, funkcji itp.).

Można także deasemblować, czyli przekształcać kod wykonywalny (ciąg instrukcji dla procesora) na postać czytelną dla człowieka (zamiast np. "89 0d 04 31 55 00" jest "mov [00553104],ecx", a logiki to nie zmienia)
Deasemblacja jest jednocześnie prosta do przeprowadzenia i daje duże możliwości, np. można dodawać nowe funkcje do robotów, z tym że dłubanie tego w asemblerze jest "trochę" żmudne. Najambitniejsi mogą spróbować stworzyć nowego (!) robota, nie jest to niemożliwe.

Możliwe jest też napisanie kodu w dowolnym języku, a następnie kompilacja do asemblera lub nawet dostarczenie pliku obiektowego (obj), którego można przy pomocy dyrektywy języka asemblera dołączyć do programu, a linker odwali brudną robotę (złączenie wszystkiego do kupy).

Poczytać o reverse engineeringu, może się nam da coś zrobić.

Bardziej wierzę w dostęp do pamięci procesu, z czego korzystają trainery. Dzięki trainerom prawdopodobnie da radę zrobić multiplayera a nawet proste modyfikacje. Dzięki dostępowi do pamięci procesu da się też "wstrzyknąć" kod, uprzednio napisany w DOWOLNYM języku (np. C++, Delphi)

Dużo się napisałem, mam nadzieję że przybliżyłem kwestię mniej zorientowanym (np. colobotwymiiata).


Programer napisał/a:
2. Kod źródłowy moglibyśmy dostać tylko od manty lub epsiteca.

Tylko? Jeszcze możemy od hackerów, którzy się włamią i ściągną ;)
Ale praktycznie tylko. Bo kod źródłowy uzyskany przy pomocy dekompilacji to nie to samo, co oryginalne źródła. Tak to jest, jak jakieś nooby (w tym przypadku Epsitec) chcą zarobić na programie i nie publikują na GPL-u.



Programer napisał/a:
3. Czyli rozwiązanie jest jedno. Jeśli chcemy zrobić coś nowego to musimy napisać Colobota od nowa.


Myślałem nad tym, jest nawet post w dziale "większe projekty" pt. "nowy colobot od nowa".
Możemy tworzyć nowe misje, zmieniać tekstury, zmieniać modele, ale nie możemy najważniejszego - zmieniać funkcji robotów
_________________
1Tbps Project && Telecomix Network

 
 
     
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 06-04-2009, 15:01   

adiblol napisał/a:
Dzięki dostępowi do pamięci procesu da się też "wstrzyknąć" kod, uprzednio napisany w DOWOLNYM języku (np. C++, Delphi)


Czyli co? Wstawić mrówkę? Usunąć obiekt z poziomu trainera?
adiblol napisał/a:
Dzięki trainerom prawdopodobnie da radę zrobić multiplayera...


Prawdopodobnie. To słowo mnie dobija. Ale, Multiplayer to byłoby o krok bliżej do C2. I na pewno zrobiłby niemniejszą "karierę".

PS.: Przepraszam za moje niezorientowanie.
 
 
     
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 06-04-2009, 15:07   

Wstrzyknąć kod, nie dane!
Czyli można np. napisać funkcję, która spowoduje, że Królowa Obcych będzie strzelać materią organiczną :lol: , wprowadzić ją do pamięci Colobota, zamieścić w odpowiednim miejscu odwołanie do niej w postaci kodu asma "call ..." i będzie działać.

Cytat:
Wstawić mrówkę? Usunąć obiekt z poziomu trainera?

TAK! To nawet bez wstrzykiwania kodu! Wystarczy zmienić dane dynamiczne, które są w pamięci Colobota. Próbowałem zmieniać osłonę człowieka i mi wyszło, dlaczego więc nie dodawać obiektów do planszy? Wystarczy zaalokować pamięć, wwalić do niej dane obiektu i dodać wskaźnik do listy obiektów. Tylko nie da się TWORZYĆ NOWYCH OBIEKTÓW np. Robala Pochłaniacza czy Króla Obcych.
_________________
1Tbps Project && Telecomix Network

 
 
     
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 06-04-2009, 15:26   

To super! Można więc robić multiplayera(chyba). Ale najpierw chyba lepiej zrobić te trainery żeby działały na każdym komputerze, i żeby miały te funkcje(dodaj\usuń obiekt). A jakby jeszcze zrobić sterowanie tymi funkcjami z poziomu programu, toby już był prawie Colobot 2!
 
 
     
adiblol 
Administrator forum
FLOSS FTW!


Twoja ulubiona misja: porównywanie formatów audio
Pomógł: 18 razy
Dołączył: 21 Kwi 2008
Posty: 1313
Skąd: pokój odsłuchowy
Wysłany: 06-04-2009, 16:34   

nawet można nowe obiekty tworzyć, ale badania które by to umożliwiły by długo trwały.
_________________
1Tbps Project && Telecomix Network

 
 
     
colobotwymiiata 
Zjem cię


Twoja ulubiona misja: Swobodna na Krystalii
Pomógł: 6 razy
Wiek: 20
Dołączył: 02 Lut 2009
Posty: 329
Skąd: Oleśnica
Wysłany: 06-04-2009, 17:56   

Ale jakby w końcu dały rezultat, jestem za. Ale na razie lepiej weźmy się za jakieś łatwiejsze rzeczy np. trainery lub Multiplayer.

PS.: Ktoś coś robi w kierunku tych trainerów na wszystkich kompach?
 
 
     
Wyświetl posty z ostatnich:   

Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Polski Portal COLOBOTa © 2008 - 2012