DarkBasic doing a PB tutorial! More users incoming? :)

For everything that's not in any way related to PureBasic. General chat etc...
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

DarkBasic doing a PB tutorial! More users incoming? :)

Post by Kale »

Another mention of PureBasic by the guys at DarkBasic. In their newsletter they are running a tutorial on how to extend the command set of DarkBasic using thier DLL plug-in system:

http://darkbasicpro.thegamecreators.com ... 19.html#15

Maybe this means more users incoming? :D

Just thought i'd mention it.
--Kale

Image
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

Re: DarkBasic doing a PB tutorial! More users incoming? :)

Post by NoahPhense »

That or, someone will come over again, as they did before, buy one
license, learn how to make a dll, then start wrapping up standard
PureBasic functions and distributing it.

Doesn't bother me. But if I was Fred it would be a concern of mine. I
don't mean to start any wars. Because I have nothing against DBPro.
Honestly, I find DBPro to be the 'best' set of tools for a 3D game maker
on the market.

All I'm saying is that Fred should get with the DB Developers and have a
simple chat, about protecting each others stuff. Just to keep an eye out
for people who are just sitting around wrapping up stuff and distributing
it.

Because I'll tell you what, if I see it happening on a regular basis. You can
bet your sweet as$, that I *know ppl that will head over there, buy DBPro
just to rip the dll's, wrapping them up, etc.

As well, I'm certain that these people will send a copy of DBPro to their
friends over there in Korea, where they will throw it up on all the P2P
networks.

- np

KEYWORD: DarkBASIC Professional
Now they can find this easily when searching.. heh
kake26
Enthusiast
Enthusiast
Posts: 157
Joined: Sun Jan 25, 2004 7:21 pm
Contact:

Post by kake26 »

Well that would suck if people did that, wrap PB functions into a DLL to use them else where. I like PureBasic, hell I bought it and damn well will I get ticked off if people do that. I agree with the Previous post though, a simple talk might be all thats needed.
VPureBasic
User
User
Posts: 59
Joined: Fri Apr 25, 2003 6:09 pm
Location: Quebec - Canada

Post by VPureBasic »

Hi All,

Personally I disagree with this... like Fred wrote in the Terms & Conditions...

In French:
Il est interdit d'encapsuler ou d'utiliser directement les commandes de haut niveau de PureBasic dans un autre language de de programmation que ce soit sous forme de bibliothèques dynamiques (DLL) ou statiques.
The meaning in english is:
People can use PureBasic to write their own DLL Library BUT they SHOULD USE ONLY THE API functions NOT the internal PB functions like "OpenWindow" etc... This should be written in this DarkBasic article!


Roger
Everything is possible with PureBASIC... All you're missing is imagination!
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

..

Post by NoahPhense »

Well, it's not really a question of opinions. It's theft. Plain and simple.

And to quote Fred, and the purebasic.com Home Page.

Generally yes. You can make DLLs including PureBasic commands for
your own projects without any restrictions. But it's not allowed to release
simple "wrapper" Dlls to include PureBasic commands in other
programming languages.


Notice two things:

1. "your own projects"
2. "not allowed to release simple 'wrapper' dlls"

A person who bought the PB license and also owns the DBPro license, ok
do what you need to do to get your game up and running.

In my opinion, the person has bought both licenses. That's great. The
problem is when this same person, decides that he or she is going to
create dll's with PureBasic and release them to the DarkBasic community.

By giving out these dlls, you are doing two things.

1. breaking the license agreement with PureBasic
2. taking money out of Freds pocket

- np

Keep in mind that there are people on the DB forums and people in the
PureBasic forums that are affiliated with SIIA.

http://www.siia.net/piracy/

They're just waiting for people to screw up.. ;)
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post by Kale »

All I'm saying is that Fred should get with the DB Developers and have a simple chat, about protecting each others stuff.
Generally yes. You can make DLLs including PureBasic commands for your own projects without any restrictions. But it's not allowed to release simple "wrapper" Dlls to include PureBasic commands in other programming languages.
Agreed! This should be made clear to the DarkBasic Community.
--Kale

Image
User Mike
User
User
Posts: 68
Joined: Mon Jan 26, 2004 7:06 pm

Post by User Mike »

Being from the Dark Basic community, I realised as soon as I saw the PB .dll tutorial on the Dark Basic website that I should warn the Administor about protecting PB.

So I shall do so now. (Heh, it was only last month I was the one asking about legal questions. Search "legal" in the newcomer section)

8)
-Pure Basic User and loving it!-
Moonshine
Enthusiast
Enthusiast
Posts: 263
Joined: Tue May 25, 2004 12:13 am
Location: UK

Post by Moonshine »

To be honest, theres not much people can do is there? How can admin stop people doing it?
Mark my words, when you least expect it, your uppance will come...
fweil
Enthusiast
Enthusiast
Posts: 725
Joined: Thu Apr 22, 2004 5:56 pm
Location: France
Contact:

Post by fweil »

It is really easy to bring before the courts.

I am ready to give my cent or my 50 euros to a lawyer Fred will choose.

It is not a joke.

Rgrds
My avatar is a small copy of the 4x1.8m image I created and exposed at 'Le salon international du meuble à Paris' january 2004 in Matt Sindall's 'Shades' designers exhibition. The original laminated print was designed using a 150 dpi printout.
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

..

Post by NoahPhense »

Moonshine wrote:To be honest, theres not much people can do is there? How can admin stop people doing it?
No, there really isn't much that can be done about it. Except to at least
try to keep the main forums free of illegal doings. You can't really stop
pirates. But you can make an example of a few of them, to make the
others realize that this is a serious matter.


You can't stop a user (lets call him Bob) from giving out his dlls. It's when
Bob or others go to sell their game that includes these wrapped dll's. This
is where the real trouble is, because now, you are not only in possession
of stolen software
but you are also distributing and reselling stolen
software
.

I will try not to use the word commercially very often because most of the
law breaking half-intelligent developers out there could never get their
products to the commercial market. And if they did, then they would learn
what piracy is all about, the hard way.

- np
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

..

Post by NoahPhense »

fweil wrote:It is really easy to bring before the courts.

I am ready to give my cent or my 50 euros to a lawyer Fred will choose.

It is not a joke.

Rgrds
The beautiful thing is, that Fred wouldn't need a lawyer. Its just like in the
U.S. when a man hits his wife, the police do not need permission from the
wife to press charges against the husband. They only need to know that
she was hit, and by who..

Piracy works the same way.

- np
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

Re: ..

Post by NoahPhense »

Just some facts. Be sure not to miss all the dollar signs, and oh, up to five
years in jail.

Penalties for Software Piracy

What are the penalties for pirating software?
The Copyright Act allows a copyright owner to recover monetary
damages measured either by: (1) actual damages plus any additional
profits of the infringer attributable to the infringement, or (2) statutory
damages, of up to $150,000 for each copyrighted work infringed.

The copyright owner also has the right to permanently enjoin an infringer
from engaging in further infringing activities and may be awarded costs
and attorneys' fees. The law also permits destruction or other reasonable
disposition of all infringing copies and devices by which infringing copies
have been made or used in violation of the copyright owner's exclusive
rights. In cases of willful infringement, criminal penalties may also be
assessed against the infringer.

***

What are the maximum civil penalties for copyright infringement?
In the United States, the violator is liable for damages suffered by the
copyright owner, plus any of the infringer's profits that are attributable to
the copying, or statutory damages of up to $150,000 for each work
harmed.

What are the maximum criminal penalties for copyright infringement?
In the US, the infringer could be fined up to $250,000 and face a jail term
of up to five years. Do people actually go to jail for this? Yes, they do.

And this one is just funny.. painfully funny.. listen close
they're refering to idiots, people that think ignorance is bliss


Is ignorance of the fact that your acts are illegal a defense?
Copyright law does not require the person committing the violation, or
responsible for the violation, be aware that their actions are in violation of
law. The absence of knowledge -- or even intent -- does not excuse the
violation and is not a defense in a copyright infringement law suit.

This isn't the show on television called "Scare Tactics", oddly enough, this
is reality. And if you can afford these types of fines, and a little jail time,
then by all means, keep it up.

Not my opinion, this is how it is..

http://www.siia.net/piracy/faq.asp#Penalties

Please try to keep comments about US Law to a minimum, at least
until you have learned who Interpol is.. and how they play their role
in protecting the laws of all of our countries. There is a link below.

This particular area of crime covers an array of offences from Trade
Mark and Patent Right infringements, to software piracy, and affects a
vast product range from medicines to air craft and vehicle spare parts,
from clothing to music CDs and computer software.


http://www.interpol.com/public/Financia ... efault.asp

- np
Raven
User
User
Posts: 45
Joined: Tue Jul 15, 2003 4:03 pm
Location: England

Post by Raven »

It isn't upto Rich to post up that making a function wrapper is against the PureBASIC Terms of Service.
It is upto the person who does it to fully read the Terms of Service and/or End User License Agreement.

This has nothing to do with The Game Creators, they're simply providing an example (and limited at that) of how to create DLLs within PureBASIC.
If you break the Terms of Service, that is between you and Fantasy Software. Not between Fantasy Software and The Game Creators.

Also just to clarify:

Code: Select all

Procedure.l apiOpenWindow( hWnd.l, x.l, y.l, sizex.l, sizey.l, title.s )
   EndProcedure OpenWindow( hWnd, x, y, sizex, sizey, title )
EndProcedure
That isn't allowed

Code: Select all

Interface IWinapi1
   hWnd()
   sGetTitle( a.l )
   Release()
EndInterface

NewList WinApi.IWinapi1

Procedure.l apiCreateWindow( hWnd.l, sizex.l, sizey.l, title.s )
   AddElement( WinApi.hWnd() )
   WinApi.hWnd() = OpenWindow( hWnd, 0, 0, sizex, sizey, title )
   ProcedureReturn WinApi.hWnd()
EndProcedure
That however would be, because your not just wrapping but creating a complete system from it. (well not complete as the example only shows on thing but you get the idea)

So it's not we're not allowed to use the PureBasic API, just we cannot use it pure.
DarkBasic Professional however doesn't have a similar thing, which unfortuntely means if someone wanted to pirate the engine for PureBasic, they could.
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

..

Post by NoahPhense »

Code: Select all

Interface IWinapi1
   hWnd()
   sGetTitle( a.l )
   Release()
EndInterface

NewList WinApi.IWinapi1

Procedure.l apiCreateWindow( hWnd.l, sizex.l, sizey.l, title.s )
   AddElement( WinApi.hWnd() )
   WinApi.hWnd() = OpenWindow( hWnd, 0, 0, sizex, sizey, title )
   ProcedureReturn WinApi.hWnd()
EndProcedure
Your example is not following the guide lines of the PureBasic license.

You can call your procedure whatever you want, but the real API here
is ONLY happening when OpenWindow() is launched. You have no api in
this code.. so all you did was pass the handle of the OpenWindow()
command into a structure/interface.

OpenWindow() is a native PB command that does the work of:

Code: Select all

hWndMain  = CreateWindowEx_(#StyleEx, WindowClass, "Test-Window", #Style, 10, 10, 200, 200, 0, 0, 0, 0) 
Want some API, this is API:

Code: Select all

Procedure WindowCallback(Window, Message, wParam, lParam) 
  Select Message 
    Case #WM_CLOSE 
      If MessageBox_(Window, "Are you sure you want to quit?", "EXIT", #MB_YESNO) = #IDYES 
        DestroyWindow_(Window) 
      Else 
        Result  = 0 
      EndIf 
    Case #WM_DESTROY 
      PostQuitMessage_(0) 
      Result  = 0 
    Default 
      Result  = DefWindowProc_(Window, Message, wParam, lParam) 
  EndSelect 
  ProcedureReturn Result 
EndProcedure 

#Style  = #WS_VISIBLE | #WS_BORDER | #WS_SYSMENU 
#StyleEx  = #WS_EX_TOOLWINDOW ;| #WS_EX_OVERLAPPEDWINDOW 

WindowClass.s  = "MyWindow" 
wc.WNDCLASSEX 
wc\cbSize  = SizeOf(WNDCLASSEX) 
wc\lpfnWndProc  = @WindowCallback() 
wc\hCursor  = LoadCursor_(0, #IDC_CROSS); #IDC_ARROW   = Arrow 
; #IDC_SIZEALL = Size Arrow 
; #IDC_CROSS   = Cross 
wc\hbrBackground  = #COLOR_WINDOW + 1;CreateSolidBrush_(RGB($8F,$8F,$8F)) 
wc\lpszClassName  = @WindowClass 
RegisterClassEx_(@wc) 

hWndMain  = CreateWindowEx_(#StyleEx, WindowClass, "Test-Window", #Style, 10, 10, 200, 200, 0, 0, 0, 0) 
CreateWindowEx_(0, "Static", "", #WS_CHILD | #WS_VISIBLE | $12, 9, 9, 102, 22, hWndMain, 0, 0, 0) 
CreateWindowEx_(0, "Button", "Button 1", #WS_CHILD | #WS_VISIBLE, 10, 10, 100, 20, hWndMain, 0, 0, 0) 

ShowWindow_(hWndMain,  #SW_SHOWDEFAULT) 
UpdateWindow_(hWndMain); 

While GetMessage_(msg.MSG, #NULL, 0, 0 ) 
  TranslateMessage_(msg) 
  DispatchMessage_(msg) 
Wend
- np
Last edited by NoahPhense on Tue Jul 27, 2004 10:03 pm, edited 1 time in total.
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

Re: ..

Post by NoahPhense »

You allowed to use all the api you want.. its all built into PB, meaning the
messagebox_() 'underscore' ..

What Fred does not want is people distributing dll's that contain things like
the following:

"PB wrapped"

Code: Select all

Procedure msg(title$, text$)
  r = MessageRequester(title$, text$)
  ProcedureReturn r
EndProcedure
Where as this one is OK:
not "PB wrapped" (api wrapped)

Code: Select all

Procedure msg(title$, text$)
  r = MessageBox_(0, text$, title$, 0)
  ProcedureReturn r
EndProcedure
- np
Post Reply