SGI: Development

New game: Thiefs - Page 1

Red alert!

Nasty villains try to steal our fuel cells/triangles/chicks/whatever!
You are earth's only hope (since Duke Nukem is waiting for christmas)!

http://www.thiefs.faktor0.de

- a tribute to the arcade classic Rip Off -

Thanks to Geoman for testing.
A new Vector game for my SGIs, how COOL is that! (Tempest is still one of my favorite Arcade game)
I'll check it out during the Christmas holiday.

Thanks for producing cool stuff to our colored boxes Martin!

//Harry
Mein Führer, I can walk!
Sweet!
Martin Steen wrote: http://www.thiefs.faktor0.de

- a tribute to the arcade classic Rip Off -


Wonderful! ...I'll try it here too!
By the way, very impressive avatar! These masterpiece from Fritz Lang never ceases to amaze me! All the best,
Diego
deBug wrote: A new Vector game for my SGIs, how COOL is that! (Tempest is still one of my favorite Arcade game)
I'll check it out during the Christmas holiday.

Thanks for producing cool stuff to our colored boxes Martin!

//Harry



You're welcome!

In 1982, I saw the game "Rip Off" at a funfair. Since then, I wanted to do a remake.

I hope there are no problems with the game. It was testet on my Fuel (V10) and Octane (ESSI) and
Geoman's Octane2 (V12). The game should run on any Octane/O2 or better. It uses the SDL instead of
GLUT, so you need the Nekoware SDL.
(only the basic SDL is needed, see "readme" on the homepage).

Best regards, Martin
Game ir running wery fast on my o2 with low cpu utilisation ~20 - 30% depends on number of enemies on screen - measured trough top.

Great job Martin!
:O2: R7000/600 576MB Ram CDRW 18+9Gb HDD
http://www.tomosgi.co.cc
Awesome... I've got the home version of Rip Off for the Vectrex , so I'll have to try this out!

(although I'm pretty poor at this particular Vectrex game... much prefer Fortress of Narzod)
:Indigo2IMP: [ R10k-195/MaxImpact +TRAMs/896Mb/73Gb-15krpm/G160/6.5.22 ]
:Octane2: [ Dual R12k-400/V8/2Gb/73Gb-15krpm/6.5.29 ]
Great game, many thanks!
By the way, I can confirm that on my O2 (R10k/250) it works very well!

Is is possible to use spacebar for firing, please?
I tried it out last night and can confirm that it runs great on my Indigo2 MaxImpact. It's pretty good! Thanks! :D
:Onyx2: 4x400MHz R12K Onyx2 IR2, 5GB RAM
:1600SW: :Indigo2IMP: R10K Indigo2 MaxIMPACT, 4 TRAMS, 768MB RAM, 2x9GB HD, CD-ROM, Phobos G160
Black Cardinal
Please port libtorrent/rtorrent!

I tried to compile with neko_gcc 4.3.1, but no success.
I need a torrent client can do encrypted connections.
dennisjunior wrote:
Please port libtorrent/rtorrent!

I tried to compile with neko_gcc 4.3.1, but no success.
I need a torrent client can do encrypted connections.


I have started porting libtorrent.
I have made subtle changes where MIPS Pro doesn't like things..
I have to make one or two line changes on most files.
For example, I have had to alloc mem on the heap rather than the stack which should make little difference. auto_ptr<> would have been better but I can't be bothered.
gcc allows:
Code:
char buf[ new_request ];

Whereas MIPSPro whines about new_request not being constant.
If have had to translate those as char *buf = new char[ new_request ]; and remember to put a delete[] buf at all the method exit points.
... and cast away const where gcc allows it but MIPS Pro has a cow. Stuff like that.

templates although powerful are hell..

I am emailing the original author about some of the more interesting function pointer template code of his.
If I build it and ftp a patch file of my changes could someone else package it as nekoware, k thanks....?

_________________
死の神はりんごだけ食べる

開いた括弧は必ず閉じる -- あるプログラマー

I saw his body thrashing 'round
I saw his pulse rate going down
I saw him in convulsive throes
I said "I'll have one of those"
-- (He'll never be) an Ol' Man River.

:Tezro: :Tezro: :Onyx2R: :Onyx2RE: :Onyx2: :O3x04R: :O3x0: :O200: :Octane: :Octane2: :O2: :O2: :Indigo2IMP: :PI: :PI: :1600SW: :1600SW: :Indy: :Indy: :Indy: :Indy: :Indy:
:hpserv: J5600, 2 x Mac, 3 x SUN, Alpha DS20E, Alpha 800 5/550, 3 x RS/6000, Amiga 4000 VideoToaster, Amiga4000 -030, 733MHz Sam440 AmigaOS 4.1 update 1.

Sold: :Indy: :Indy: :Indy: :Indigo: Tandem Himalaya S-Series Nonstop S72000 ServerNet.

@PymbleSoftware
Cortex ---> http://www.facebook.com/pages/Cortex-th ... 11?sk=info
Minnie ---> http://www.facebook.com/pages/Minnie-th ... 02?sk=info
Book ----> http://pymblesoftware.com/book/
Github ---> https://github.com/pymblesoftware
Visit http://www.pymblesoftware.com
Search for "Pymble", "InstaElf", "CryWhy" or "Cricket Score Sheet" in the iPad App store or search for "Pymble" or "CryWhy" in the iPhone App store.
PymbleSoftware wrote:
... could someone else package it as nekoware, k thanks....?

I believe the official stance of nekochan on p2p is you two can have sex all you want but not in this house, please.

it's easier to avoid trouble upfront rather than fight it later. Mr Neko justifiably would rather not have to spend time hassling with the smarmy legal system.
hamei wrote:
PymbleSoftware wrote:
... could someone else package it as nekoware, k thanks....?

I believe the official stance of nekochan on p2p is you two can have sex all you want but not in this house, please. it's easier to avoid trouble upfront, rather than fight it later.


libtorrent is just a library if you use it to build programs that download stuff than that is you own look out.
libtorrent itself is not commercial software and no-one will issue a take down notice to Pete over it.
I don't see it as a threat to nekochan and no one said anything when dennisjunior asked for it twice..

I have built it, ... It is a bit ugly at the moment and I am messing about with subversion and talking to the original developer.

Using your sex metaphor it is more like a condom, handcuffs or lubricant and than the act itself. If nekonoko or the mods think otherwise, I'll shut the fuck up then.

I have built libtorrent as a gcc build...
I have built a MIPS Pro version that has a few issues remaining.

I have built my own version of libcurl and even the gcc version of rtorrent has issues.

_________________
死の神はりんごだけ食べる

開いた括弧は必ず閉じる -- あるプログラマー

I saw his body thrashing 'round
I saw his pulse rate going down
I saw him in convulsive throes
I said "I'll have one of those"
-- (He'll never be) an Ol' Man River.

:Tezro: :Tezro: :Onyx2R: :Onyx2RE: :Onyx2: :O3x04R: :O3x0: :O200: :Octane: :Octane2: :O2: :O2: :Indigo2IMP: :PI: :PI: :1600SW: :1600SW: :Indy: :Indy: :Indy: :Indy: :Indy:
:hpserv: J5600, 2 x Mac, 3 x SUN, Alpha DS20E, Alpha 800 5/550, 3 x RS/6000, Amiga 4000 VideoToaster, Amiga4000 -030, 733MHz Sam440 AmigaOS 4.1 update 1.

Sold: :Indy: :Indy: :Indy: :Indigo: Tandem Himalaya S-Series Nonstop S72000 ServerNet.

@PymbleSoftware
Cortex ---> http://www.facebook.com/pages/Cortex-th ... 11?sk=info
Minnie ---> http://www.facebook.com/pages/Minnie-th ... 02?sk=info
Book ----> http://pymblesoftware.com/book/
Github ---> https://github.com/pymblesoftware
Visit http://www.pymblesoftware.com
Search for "Pymble", "InstaElf", "CryWhy" or "Cricket Score Sheet" in the iPad App store or search for "Pymble" or "CryWhy" in the iPhone App store.
PymbleSoftware wrote:
libtorrent itself is not commercial software and no-one will issue a take down notice to Pete over it.
I don't see it as a threat to nekochan and no one said anything when dennisjunior asked for it twice..

I agree. Also, there's already a 'ctorrent' in Nekoware -- if it was illegal, it wouldn't be there :)
NASA, for example, had some really huge satellite imagery of the Earth available for download via torrents.
I am going to put up on ftp the gcc build of the library next time I fire up the 12 CPU Origin 300. I had been doing parallel builds with the machine on a local disk for speed but it is too hot to run too often, the lab becomes a furnace otherwise.
If there is still interest, I will continue with the MIPS Pro build of it and see if I can get my changes integrated back into the original developers source. I commented out a few chunks in a couple of directories to get it compile so I have crippled some of the functionality, until I nut the problems and uncomment it.

...as for rtorrent.. It doesn't even compile on Linux straight out of source control without issues.

See where I get in a few days..

_________________
死の神はりんごだけ食べる

開いた括弧は必ず閉じる -- あるプログラマー

I saw his body thrashing 'round
I saw his pulse rate going down
I saw him in convulsive throes
I said "I'll have one of those"
-- (He'll never be) an Ol' Man River.

:Tezro: :Tezro: :Onyx2R: :Onyx2RE: :Onyx2: :O3x04R: :O3x0: :O200: :Octane: :Octane2: :O2: :O2: :Indigo2IMP: :PI: :PI: :1600SW: :1600SW: :Indy: :Indy: :Indy: :Indy: :Indy:
:hpserv: J5600, 2 x Mac, 3 x SUN, Alpha DS20E, Alpha 800 5/550, 3 x RS/6000, Amiga 4000 VideoToaster, Amiga4000 -030, 733MHz Sam440 AmigaOS 4.1 update 1.

Sold: :Indy: :Indy: :Indy: :Indigo: Tandem Himalaya S-Series Nonstop S72000 ServerNet.

@PymbleSoftware
Cortex ---> http://www.facebook.com/pages/Cortex-th ... 11?sk=info
Minnie ---> http://www.facebook.com/pages/Minnie-th ... 02?sk=info
Book ----> http://pymblesoftware.com/book/
Github ---> https://github.com/pymblesoftware
Visit http://www.pymblesoftware.com
Search for "Pymble", "InstaElf", "CryWhy" or "Cricket Score Sheet" in the iPad App store or search for "Pymble" or "CryWhy" in the iPhone App store.
i would definitely like to see a mips pro libtorrent/rtorrent :D
much thanks for your work!

_________________
r-a-c.de
Thank you for your work!
This is as about as far as I got...
It builds with MIPS Pro but I have taken out a couple of core pieces of functionality.

Code:

./src/download/download_info.h ./src/download/download_info.h.orig
----------------------------



207,212c207,208
< }
< #ifdef IRIX64
< ;    // MIPS Pro's #pragma packed will not work with compiler flags I am using.
< #else
< __attribute__ ((packed));
< #endif
---
> } __attribute__ ((packed));
>
./src/download/download_constructor.cc ./src/download/download_constructor.cc.orig
----------------------------



322,327d321
<
< #ifdef IRIX64   // I give up.. !!!
< /*
< cc-1278 CC: ERROR File = download_constructor.cc, Line = 324
<   No instance of overloaded function "std::mem_fun_ref" matches the argument
<           list.
329,337d322
<             The argument types are:  (<unknown-type>).
<     std::transform(plist.begin(), plist.end(), std::back_inserter(p), std::mem_fun_ref<const Object::string_type&>(&Object::as_string));
<                                                                       ^
<
< 1 error detected in the compilation of "download_constructor.cc".
< */
< //   std::transform(plist.begin(), plist.end(), std::back_inserter(p),  std::mem_fun_ref<const Object::string_type&>(&Object::as_string));

<
< #else
339,340c324
< #endif
<
---
>
./src/torrent/tracker_list.cc ./src/torrent/tracker_list.cc.orig
----------------------------



37,38d36
< #if 0
<
254d251
< #endif
./src/torrent/peer/connection_list.cc ./src/torrent/peer/connection_list.cc.orig----------------------------



143d142
< #ifdef IRIX64
145,149c144,145
<     erase(pos++, flags);
< #else
<   while (pos != end())
<     erase(--end(), flags);
< #endif
---
>     erase(--end(), flags);
>
./src/torrent/chunk_manager.cc ./src/torrent/chunk_manager.cc.orig
----------------------------



115,117d114
< #ifdef IRIX64
<   std::iter_swap(itr, (base_type::end() - 1));
< #else
119d115
< #endif
./src/torrent/data/file_utils.cc ./src/torrent/data/file_utils.cc.orig
----------------------------



63,66d62
<
< #ifdef IRIX64
<   char *name = new char[nameSize + 4];
< #else
68,69c64
< #endif
<
---
>
87,90c82
< #ifdef IRIX64
<   delete[] name;
< #endif
<
---
>
./src/dht/dht_server.h ./src/dht/dht_server.h.orig
----------------------------



120,125c120
<   }
< #ifdef IRIX64
< ;
< #else
<    __attribute__ ((packed));
< #endif
---
>   } __attribute__ ((packed));
./src/resource_manager.cc ./src/resource_manager.cc.orig
----------------------------



142,144d141
< #ifdef IRIX64
<   return std::for_each(begin(), end(), rak::accumulate((unsigned int)0, &value_type::first)).result;
< #else
146d142
< #endif
./src/data/hash_torrent.cc ./src/data/hash_torrent.cc.orig
----------------------------



./src/data/chunk_part.cc ./src/data/chunk_part.cc.orig
----------------------------



73,75d72
< #ifdef IRIX64
<   char *buf = new char[ touched];
< #else
77c74
< #endif
---
>
82,84d78
< #ifdef IRIX64
<   delete[] buf;
< #endif
./src/data/memory_chunk.cc ./src/data/memory_chunk.cc.orig
----------------------------



155,158d154
<
< #ifdef IRIX64
<   char *buf = new char[ size ];
< #else
160c156
< #endif
---
>
163,165d158
< #ifdef IRIX64
<   delete[] buf;
< #endif
./src/protocol/handshake.cc ./src/protocol/handshake.cc.orig
----------------------------



940,946c940,941
< #ifdef IRIX64
<     char *pad = new char[ length ];
< #else
<     char pad[length];
< #endif
<
<
---
>   char pad[length];
>
949,953d943
<
< #ifdef IRIX64
<   delete[] pad;
< #endif
<
./src/protocol/extensions.cc ./src/protocol/extensions.cc.orig
----------------------------


37,39d36
<
< #if 0
<
127c124
<   object_buffer_t result = object_write_bencode_c(object_write_to_buffer, NULL, std::make_pair((char *)buffer, (char *) buffer + sizeof(buffer)), &message);
---
>   object_buffer_t result = object_write_bencode_c(object_write_to_buffer, NULL, std::make_pair(buffer, buffer + sizeof(buffer)), &message);
312,314d308
<
<
< #endif
./rak/string_manip.h ./rak/string_manip.h.orig
----------------------------



65,68d64
< #ifdef IRIX64
<   if (seq.empty() || !std::isspace(*( --(seq.end()) )))
<     return seq;
< #else
70,71c66,67
<     return seq;
< #endif
---
>     return seq;
>
100,103d95
< #ifdef IRIX64
<   if (seq.empty() || !std::isspace(*(seq.end() -1), std::locale::classic()))
<     return seq;
< #else
105,106c97,98
<     return seq;
< #endif
---
>     return seq;
>
./rak/ranges.h ./rak/ranges.h.orig
----------------------------



86,93c86,87
< #ifdef IRIX64
< //  iterator first = std::find_if(begin(), end(), rak::less_equal(r.first,  &value_type::second ));
<     iterator first = begin();
< #else
<     iterator first = std::find_if(begin(), end(), rak::less_equal(r.first, rak::const_mem_ref( &value_type::second)));
< #endif
<
<
---
>   iterator first = std::find_if(begin(), end(), rak::less_equal(r.first, rak::const_mem_ref(&value_type::second)));
>
103,110c97,98
< #ifdef IRIX64
< //        iterator last = std::find_if(first, end(), rak::less(first->second, &value_type::second));   // RR:
<  iterator last = end();
<
< #else
<     iterator last = std::find_if(first, end(), rak::less(first->second, rak::const_mem_ref(&value_type::second)));   // RR:
< #endif
<
---
>     iterator last = std::find_if(first, end(), rak::less(first->second, rak::const_mem_ref(&value_type::second)));
>
124,135c112,114
< #ifdef IRIX64
< //  iterator first = std::find_if(begin(), end(), rak::less(r.first, &value_type::second));  // RR:
< //  iterator last  = std::find_if(first, end(), rak::less(r.second, &value_type::second));  // RR:
<
<   iterator first = begin();   // This is a bad idea...
<   iterator last  = end();
<
< #else
<   iterator first = std::find_if(begin(), end(), rak::less(r.first, rak::const_mem_ref(&value_type::second)));
<   iterator last  = std::find_if(first, end(), rak::less(r.second, rak::const_mem_ref(&value_type::second)));
<
< #endif
---
>   iterator first = std::find_if(begin(), end(), rak::less(r.first, rak::const_mem_ref(&value_type::second)));
>   iterator last  = std::find_if(first, end(), rak::less(r.second, rak::const_mem_ref(&value_type::second)));
>
165,168d143
< #ifdef IRIX64
< //  return std::find_if(begin(), end(), rak::less(index, rak::const_mem_ref(&value_type::second)));
<       return end();
< #else
170d144
< #endif
176,178d149
< #ifdef IRIX64
<       return end();
< #else
180d150
< #endif
./rak/functional.h ./rak/functional.h.orig
----------------------------



75d74
< #ifndef IRIX64
77,81d75
< #else
<   void operator () (const Arg& a) { }
<   /**
<   cc-1108 CC: ERROR File = ../rak/functional.h, Line = 78
<   The indicated expression must have pointer-to-function type.
83,105d76
<     void operator () (const Arg& a) { result += m_f(a); }
<                                                 ^
<           A template was detected during header processing.
<             instantiation of "void rak::accumulate_t<unsigned int, uint16_t
<                       std::pair<uint16_t, torrent::DownloadMain
<                       *>::*>::operator()(const std::pair<uint16_t,
<                       torrent::DownloadMain *> &)" at line 83 of
<                       "/usr/include/CC/stl_algo.h"
<             instantiation of "rak::accumulate_t<unsigned int, uint16_t
<                       std::pair<uint16_t, torrent::DownloadMain *>::*>
<                       std::for_each(const std::vector<std::pair<uint16_t,
<                       torrent::DownloadMain *>,
<                       std::allocator<std::pair<uint16_t, torrent::DownloadMain<                       *>>>::value_type *, const
<                       std::vector<std::pair<uint16_t, torrent::DownloadMain
<                       *>, std::allocator<std::pair<uint16_t,
<                       torrent::DownloadMain *>>>::value_type *,
<                       rak::accumulate_t<unsigned int, uint16_t
<                       std::pair<uint16_t, torrent::DownloadMain *>::*>)"
<
<
<   **/
< #endif



:roll: The outright hostility you get from people if you are not using their beloveded Linux/GCC make you want to punch the open sores bigot you meet in the head :roll:


This is where I might leave it for a while unless some else wants to comment on the error messages I embedded into the comments..

I am going to shutdown now the 12 CPU build server down. Its too hot, too loud and too expensive to run and I don't have any fresh ideas.

_________________
死の神はりんごだけ食べる

開いた括弧は必ず閉じる -- あるプログラマー

I saw his body thrashing 'round
I saw his pulse rate going down
I saw him in convulsive throes
I said "I'll have one of those"
-- (He'll never be) an Ol' Man River.

:Tezro: :Tezro: :Onyx2R: :Onyx2RE: :Onyx2: :O3x04R: :O3x0: :O200: :Octane: :Octane2: :O2: :O2: :Indigo2IMP: :PI: :PI: :1600SW: :1600SW: :Indy: :Indy: :Indy: :Indy: :Indy:
:hpserv: J5600, 2 x Mac, 3 x SUN, Alpha DS20E, Alpha 800 5/550, 3 x RS/6000, Amiga 4000 VideoToaster, Amiga4000 -030, 733MHz Sam440 AmigaOS 4.1 update 1.

Sold: :Indy: :Indy: :Indy: :Indigo: Tandem Himalaya S-Series Nonstop S72000 ServerNet.

@PymbleSoftware
Cortex ---> http://www.facebook.com/pages/Cortex-th ... 11?sk=info
Minnie ---> http://www.facebook.com/pages/Minnie-th ... 02?sk=info
Book ----> http://pymblesoftware.com/book/
Github ---> https://github.com/pymblesoftware
Visit http://www.pymblesoftware.com
Search for "Pymble", "InstaElf", "CryWhy" or "Cricket Score Sheet" in the iPad App store or search for "Pymble" or "CryWhy" in the iPhone App store.
great!
much thanks for your work again!

_________________
r-a-c.de
PymbleSoftware wrote:
:roll: The outright hostility you get from people if you are not using their beloveded Linux/GCC make you want to punch the open sores bigot you meet in the head :roll:


oh you can say that again :evil:
the younger devs even don't know anything else but liunx/gcc ...

_________________
r-a-c.de