Back when I made the "tree house" game, a few years ago. It's 3D and you can only walk around. At that time, I remember Galleon rewrote the program and added something to the display part to shade the textures. Everything got darker in proportion to the distance. I didn't understand then. I looked for the code, but I couldn't find it, and the old forum is not available. Since then, I have solved the distance-proportional darkening of games by generating lots of textures. That's a lot of memory, and it doesn't work on a large surface, because if one vertex of a triangle is close to you and another vertex is far away, then what shade should it get? So it's only good for displaying small textures.
In the past few days, I've been thinking about how Galleon solved the problem of placing a texture of any size on the screen in any way. Then he told me that a black mask with an alpha distance proportional to the texture should be drawn. That's when I understood that by switching _depthbuffer on and off, it can be solved by dragging the alpha texture after each texture. And I understood why I didn't use it then. Very good, fast, practical, only switching the z-buffer on and off slows down the program significantly.
I was wondering how it could be solved without switching on the z-buffer.
Suppose _maptriangle gets a 3d point. be x,y,z. it should be 20,10,30. This point in the plane will be where, for example, 200,100,300 or 2,1,3 or 40,20,60. This simple realization helped. Simply, after drawing the texture, x,y,z must be multiplied by 0.999999, and then the mask can be drawn on it. That way, you don't have to switch on the z-buffer.
I thank Galleon several times already! If it doesn't show it then, I won't think about how it could be operated faster.
Code: (Select All)
picture$ = "" '<-------- enter an image or leave the field blank
'texture
If _FileExists(picture$) Then
text = _LoadImage(picture$, 33)
Else
temp = _NewImage(1, 1, 32): _Dest temp: Cls , _RGB32(255, 255, 255): text = _CopyImage(temp, 33): _FreeImage temp
End If
'draw cubes
px1 = cube_res / 2: px2 = cube_res - 2
dl = cube_deep - 3: c_dis = Interpolate(50, 2500, light): temp = cube_deep / c_dis
For a_obj = 0 To obj_c - 1: For t = 0 To 7
For t2 = 0 To 2: pc(t, t2) = (obj(a_obj, 3 + t2) * (Sgn(t And 2 ^ t2) * 2 - 1) + (obj(a_obj, t2) - me(t2))): Next t2
rotate pc(t, 0), pc(t, 1), pc(t, 2)
pc(t, 3) = Sqr(pc(t, 0) * pc(t, 0) + pc(t, 1) * pc(t, 1) + pc(t, 2) * pc(t, 2))
sm = shdw_m(Abs(Int(pc(t, 2))))
For t2 = 0 To 2: pc(t, 4 + t2) = pc(t, t2) * sm: Next t2
Next t
For t = 0 To 5: For t2 = 0 To 3: side(t2) = Val(Mid$("024623673175105445670123", 1 + t * 4 + t2, 1)): For t3 = 0 To 2: p(t2, t3) = pc(side(t2), t3): p2(t2, t3) = pc(side(t2), t3 + 4): Next t3, t2
A little proof of concept method for a bigger program that I'm playing around with, which allows us to reference variables by offset rather than by name.
Code: (Select All)
Dim foo As Integer
Dim foo2 As _Unsigned _Byte
Dim foo3 As Long
Sub ToggleVar (variable_offset As _Offset, variable_size As _Byte)
Static m As _MEM
m = _Mem(variable_offset, variable_size)
Select Case variable_size
Case 1
temp%% = _MemGet(m, m.OFFSET, _Byte)
_MemPut m, m.OFFSET, Not temp%% As _BYTE
Case 2
temp% = _MemGet(m, m.OFFSET, Integer)
_MemPut m, m.OFFSET, Not temp% As INTEGER
Case 4
temp& = _MemGet(m, m.OFFSET, Long)
_MemPut m, m.OFFSET, Not temp& As LONG
Case 8
temp&& = _MemGet(m, m.OFFSET, _Integer64)
_MemPut m, m.OFFSET, Not temp&& As _INTEGER64
End Select
End Sub
Take a moment and be certain to notice that these are 3 different type variables all being processed and altered via the same SUB.
Here is a bare bones of a drop down menu which I have been using. I have had to use a Slowing value to smooth out the speed at which the drop down occurs. I was wondering if there might be a better way to control the speed.
Cls
Screen _NewImage(1200, 900, 32)
Dim Shared DarkGreen&
Dim Shared Yellow&
Dim Shared Pink&
DarkGreen& = _RGB32(0, 129, 0)
Yellow& = _RGB(255, 255, 0)
Pink& = _RGB(216, 50, 166)
r1 = 51
r2 = 93
'The Drop Down
For DDwn = 1 To 25
Color Yellow&
_PrintString (12, 15), "Opening Info"
Line (c1, r1)-(c2, r2), DarkGreen&, BF
For slow = 1 To 10000000: Next
r1 = r1 + DDwn
r2 = r2 + DDwn
Next
Sleep
Find attached a file called the set of more dos utilities..
First, this is not QB64. Instead it is QB45/QB71/VBdos..
Next, you get what you see. Some utilities work. Some do not.
There is an imbedded \examples directory with 50 sample files.
Erik.
The packing list is:
Code: (Select All)
More public domain Dos utilities v72.0a packing list:
Runtime files:
Filters: (delete any old TEE*.COM first)..
TEE.EXE -- Piping redirection program
(sends tee stdin to screen/file)
TEE2.EXE -- Piping redirection program
(sends tee stdin to screen/printer/file)
TEE3.EXE -- Piping redirection program
(sends tee stdin to screen/printer/aux/file)
PD Swap Utility:
SHROOM.COM -- Program swapping utility
SHROOM.DOC -- Program documentation
SHROOM.TXT -- Program text info
ASCII.EXE -- Ascii chart maker
BIOS.EXE -- Reads bios list using inline assembly
CLOCK1.EXE -- Display current date\time in window.
COUNT.EXE -- Counts files/lines/bytes of code
DISKCOMP.EXE -- Compares diskettes in drive A:
DISKCOPY.EXE -- Copies diskette from A: to A:
FILECOMP.EXE -- Compares byte values of two files
FINDCODE.EXE -- Program to locate SUB statements
FINDDOC.EXE -- Program to locate keywords
FINDVAR.EXE -- Program to locate variables
FIND.DOC -- Documentation for find utilities
HEXCALC.EXE -- Hex-to-Dec calculator
HEXLIST.EXE -- Hex chart maker
LOWERDTR.EXE -- Modem port utility
MACHINE.EXE -- Local workstation name display utility
RAISEDTR.EXE -- Modem port utility
RUNPROG.EXE -- Starts command line programs
SCRNSAVE.EXE -- Starts Windows screen saver
SERIAL.BAS -- Creates a serial number from date/time
UNINSTAL.EXE -- Generic uninstal utility for DOS
SAMPLE.CFG -- Uninstal config file
WHATIS.EXE -- Expression parser
TROOLEAN.DOC -- Extended boolean charts
Windows utilities:
LIB.EXE -- Library program to create and edit .lib files
MEM.EXE -- Displays various DOS memory settings
NMAKE.EXE -- Compiles programs based on makefile instructions
START.EXE -- Windows utility to launch programs
Misc. files:
AUTHOR.BAT -- Author information program
AUTHOR.TXT -- Author information file
BIOS.TXT -- BIOS equipment list
BREAK.TXT -- Notes on DOS break flag
COHESION.TXT -- Info for utility usage
COMPILE.LST -- Compiler switches list
COMPILE.TXT -- Instructions on compiling
CTRL.TXT -- Short note on Control-Break
DATETIME.TXT -- Further date\time explanations
ERROR.TXT -- List of DOS error codes
EXAMPLE?.BAT -- Examples using utilities
PSPTRICK.TXT -- Text on file handles
SERIAL.TXT -- Info on disk serial number
UPGRADE1.TXT -- Latest upgrade notes
UPGRADE2.TXT -- Old upgrade notes
US.TXT -- U.S. Constitution
VERSION.LST -- Most recent upgrade notes
Misc. list files:
ASCII.TXT -- Text file of ascii codes
ASCII1.TXT -- Ascii codes 0 to 127
ASCII2.TXT -- Ascii codes 128 to 255
HEX.TXT -- Text file of hex codes
HEX1.TXT -- Hex codes 0 to 127
HEX2.TXT -- Hex codes 128 to 255
Misc. readme list files:
README.COM -- Readme program for readme.txt
README.TXT -- Description of utilities
READIT2.COM -- Readme program for disclaim.doc
Misc. utilities:
DOBREAK.BAT -- Example to check DOS break flag state
CHECKBRK.COM -- Returns Errorlevel of break flag
CLEARBRK.COM -- Clears break flag in DOS
COUNTBRK.COM -- Displays actual value of break flag
SETBRK.COM -- Sets break flag in DOS
ZIPCHECK.BAT -- Batch program to check .zip files
BADCHECK.DAT -- Used by Zipcheck.bat
ZIPCHECK.DAT -- Used by Zipcheck.bat
Misc. imbedded file source:
\Examples\*.Zip -- Over 50 examples in BASIC programming.
BC7.INC -- Backward compatible file for BC7 (PDS v7.10) compiling
BC71.INC -- Backward compatible file for BC7 (PDS v7.10) compiling
WHATIS.INC -- Include file for Whatis
ERROR.BAS -- Error function source for VB
ERROR.LIB -- Error function library for VB
ERROR2.BAS -- Error function source for QB
ERROR2.LIB -- Error function library for QB
*.BAS -- Program sources
*.BI -- Source headers
MAKEALL.BAT -- Makes all programs.
LINKALL.BAT -- Links all programs.
MAKEFILE -- Compiler directives for NMAKE.EXE with VB Pro v1.00
MAKEFILE.NMK -- Compiler directives for NMAKE.EXE with VB Pro v1.00
MAKEFILE.BC7 -- Compiler directives for making with BC7 (PDS v7.10)
MAKEZIP.BAT -- Makes Ziplook.exe w/ BC7 (PDS v7.10)
NOEDIT.OBJ -- Line input editing stub file
KEYTRAP.ASM -- Assembly program to trap Control-Break
KEYTRAP.OBJ -- Precompiled source to Keytrap.asm
SWAPBAS.ASM -- Source to Runprog.exe swapper
SWAPBAS.OBJ -- Precompiled Runprog.exe swapper
ZIPVIEW.ASM -- Source to .zip viewing
ZIPVIEW.OBJ -- Precompiled .zip viewing source
Auxiliary files:
*.ASI -- ASIC v5.00 program source
*.BAT -- Batch programs
*.DOC -- Documentation files
*.PRJ -- ASIC v5.00 project files
*.LST -- List files
*.TXT -- Text files
BC.EXE -- The VB Pro v1.00 compiler
LINK.EXE -- Most recent Linker
VBDOS.LIB -- VB Pro v1.00 interrupt assembly library
VBDCL10E.LIB -- VB Pro v1.00 standalone library
VBDRT10E.LIB -- VB Pro v1.00 runtime library
VBDRT10E.EXE -- VB Pro v1.00 runtime module
Required compiling files for Ziplook.exe or for BC7 (PDS v7.10) compiling:
BC.EXE -- The BC v7.10 compiler
LINK.EXE -- Most recent Linker
DTFMTER.LIB -- BC v7.10 date/time format library
QBX.LIB -- BC v7.10 interrupt assembly ibrary
BCL71EFR.LIB -- BC v7.10 standalone library
BCL71ENR.LIB - BC v7.10 standalone library
BRT71EFR.LIB -- BC v7.10 runtime library
BRT71EFR.EXE -- BC v7.10 runtime module
Required compiling files for assembly source:
TASM.EXE -- Turbo assembler 4.0, or any later MASM compilers
Filegate project files:
FILE_ID.DIZ -- Standard distribution text file
These programs and source are hereby placed into the public domain 2014.
The Author respects the Authors of included PD/Shareware programs.
One nice effect is you can have 2 font sizes/styles in the same program. Here is a flow-through example with a large and small lucon font.
Code: (Select All)
$COLOR:32
DIM SHARED overlay, ii
f1 = 22 ' Sets font size to 22 and calculates the max screen height and width for your desktop.
h = (_DESKTOPHEIGHT - 60) \ f1
w = _DESKTOPWIDTH \ (f1 / 1.66)
WIDTH w, h
_SCREENMOVE 0, 0
fontpath$ = ENVIRON$("SYSTEMROOT") + "\fonts\lucon.ttf" 'Find Windows Folder Path.
font& = _LOADFONT(fontpath$, f1 - 2, "monospace") ' - 2 to shorten the screen height just a bit.
_FONT font&
_DELAY .25
swtch = 1
DO
_LIMIT 30
SELECT CASE swtch
CASE 1
CALL prog1
IF INKEY$ = CHR$(27) THEN SYSTEM
CASE -1
CALL prog2
END SELECT
swtch = swtch * -1
LOOP
SUB prog1
ii = ii + 1
IF i > 300 THEN END ' Safety in case of memory leak.
IF ABS(TIMER - z1) > .5 THEN LOCATE 2, 2: PRINT LTRIM$(STR$(ii)); " ";
END SUB
I saw a couple posts on inform recently so I dug this out.
It's one of my first attempts at using qb64 and Inform from several months ago during the before times. It's pretty crude and not remotely amazing but nonetheless semi-functional and shows how I tried to make use of Inform.
DemoZapper
Code: (Select All)
'Demo Zapper
'just fiddling with inform a several months back and whipped this up while still rediscovering QB64
'it's crude, I've gotten a little better witrh qb64 since I did this, but someone may find it useful as a samplen to figure out inform
'one "alien" and one cannon/ship
'
' you are going to need the form (which is posted alogn with this) and you are going to need inform installed to make use of this.
'
'
'
': This program uses
': InForm - GUI library for QB64 - v1.3
': Fellippe Heitor, 2016-2021 - fellippe@qb64.org - @fellippeheitor
': https://github.com/FellippeHeitor/InForm
'-----------------------------------------------------------
': Controls' IDs: ------------------------------------------------------------------
Dim Shared DEMOZAPPER As Long
Dim Shared DEMOZAPPERPX As Long
Dim Shared BT2 As Long
Dim Shared BT As Long
Dim Shared FIREBT As Long
Dim Shared MessageBoxTB As Long
Dim Shared SCORELB As Long
Dim Shared ScoreT As Long
Dim Shared POWERLB As Long
Dim Shared ScoreT2 As Long
Dim Shared HULLLB As Long
Dim Shared ScoreT3 As Long
Dim Shared gamescore As Long
Dim Shared power As Long
Dim Shared hull As Long
Dim Shared shipx As Long
Dim Shared shipY As Long
Dim Shared shipshape$, alienshape$, zapshape$
Dim Shared ax, ay, zx(10), zy(10) As Long
Dim Shared shot, allshots
Dim Shared ASPEED
Dim Shared mess$(5)
mess$(1) = "My Totally lame shooter demo"
mess$(2) = "Take Careful Aim"
mess$(3) = "only one alien for now"
mess$(4) = "Power drain does nothing...yet"
mess$(5) = "Hmmm...."
Randomize Timer
': Event procedures: ---------------------------------------------------------------
Sub __UI_BeforeInit
End Sub
Sub __UI_OnLoad
'here's where I initialize my part of the program.
gamescore = 0
power = 1000
hull = 100
shipx = 256
shipY = 240
shot = 0
allshots = 0
shipshape$ = "R4D8F6D8H6U4L4D4G6U8E6U8"
alienshape$ = "R8F6G3H3G3H3E6"
zapshape$ = "R4D6L4U6"
ax = 30
ay = 30
zx = -1
zy = -1
ASPEED = 1
Caption(MessageBoxTB) = " "
End Sub
Sub __UI_BeforeUpdateDisplay
'This event occurs at approximately 60 frames per second.
'You can change the update frequency by calling SetFrameRate DesiredRate%
' this looked like a good spot in what is effectively the main event loop to pur most of the program.
Caption(ScoreT) = Str$(gamescore)
Caption(ScoreT2) = Str$(power)
Caption(ScoreT3) = Str$(hull)
mm = Int(Rnd * 500) + 1
If mm < 6 Then Caption(MessageBoxTB) = mess$(mm)
'drawship
_Dest Control(Canvas).HelperCanvas
k = _RGB(111, 200, 200)
BeginDraw DEMOZAPPERPX
Cls , _RGB32(0, 0, 50)
PSet (shipx, shipY), k
Draw shipshape$
If ax > 0 Then
PSet (ax, ay), k
Draw alienshape$
End If
If shot > 0 Then
For z = 1 To shot
If zx(z) > 0 Then
k = _RGB(200, 20, 20)
PSet (zx(z), zy(z)), k
Draw zapshape$
If Int(zx(z) / 8) = Int((ax + 2.5) / 8) And Int(zy(z) / 8) = Int(ay / 8) Then
Beep
ax = -1
ay = -1
gamescore = gamescore + 100
zx(z) = -1
zy(z) = -1
End If
End If
Next z
End If
EndDraw DEMOZAPPERPX
'move game elements
If ax < 500 Then
ax = ax + ASPEED
Else
ax = -10
ay = Int(Rnd * 20) + 20
End If
If shot > 0 Then
For z = 1 To shot
If zy(z) > 0 Then
zy(z) = zy(z) - 4
Else
zx(z) = -1
zy(z) = -1
End If
Next z
If zy(shot) = -1 And shot = 10 Then shot = 0
End If
End Sub
Sub __UI_BeforeUnload
'If you set __UI_UnloadSignal = False here you can
'cancel the user's request to close.
End Sub
Sub __UI_Click (id As Long)
Select Case id
Case DEMOZAPPER
Case DEMOZAPPERPX
Case BT2
shipx = shipx - 4
Case BT
shipx = shipx + 4
Case FIREBT
'if the fire button is pressed do this!
If power > 0 And shot < 10 Then
shot = shot + 1
zx(shot) = shipx
zy(shot) = shipY - 8
power = power - 1
End If
Case MessageBoxTB
Case SCORELB
Case ScoreT
Case POWERLB
Case ScoreT2
Case HULLLB
Case ScoreT3
End Select
End Sub
Sub __UI_MouseEnter (id As Long)
Select Case id
Case DEMOZAPPER
Case DEMOZAPPERPX
Case BT2
Case BT
Case FIREBT
Case MessageBoxTB
Case SCORELB
Case ScoreT
Case POWERLB
Case ScoreT2
Case HULLLB
Case ScoreT3
End Select
End Sub
Sub __UI_MouseLeave (id As Long)
Select Case id
Case DEMOZAPPER
Case DEMOZAPPERPX
Case BT2
Case BT
Case FIREBT
Case MessageBoxTB
Case SCORELB
Case ScoreT
Case POWERLB
Case ScoreT2
Case HULLLB
Case ScoreT3
End Select
End Sub
Sub __UI_FocusIn (id As Long)
Select Case id
Case BT2
Case BT
Case FIREBT
Case MessageBoxTB
End Select
End Sub
Sub __UI_FocusOut (id As Long)
'This event occurs right before a control loses focus.
'To prevent a control from losing focus, set __UI_KeepFocus = True below.
Select Case id
Case BT2
Case BT
Case FIREBT
Case MessageBoxTB
End Select
End Sub
Sub __UI_MouseDown (id As Long)
Select Case id
Case DEMOZAPPER
Case DEMOZAPPERPX
Case BT2
'go that way
shipx = shipx - 1
Case BT
'go this way
shipx = shipx + 1
Case FIREBT
Case MessageBoxTB
Case SCORELB
Case ScoreT
Case POWERLB
Case ScoreT2
Case HULLLB
Case ScoreT3
End Select
End Sub
Sub __UI_MouseUp (id As Long)
Select Case id
Case DEMOZAPPER
Case DEMOZAPPERPX
Case BT2
Case BT
Case FIREBT
Case MessageBoxTB
Case SCORELB
Case ScoreT
Case POWERLB
Case ScoreT2
Case HULLLB
Case ScoreT3
End Select
End Sub
Sub __UI_KeyPress (id As Long)
'When this event is fired, __UI_KeyHit will contain the code of the key hit.
'You can change it and even cancel it by making it = 0
Select Case id
Case BT2
Case BT
Case FIREBT
Case MessageBoxTB
End Select
End Sub
Sub __UI_TextChanged (id As Long)
Select Case id
Case MessageBoxTB
End Select
End Sub
Sub __UI_ValueChanged (id As Long)
Select Case id
End Select
End Sub
Sub __UI_FormResized
End Sub
'$INCLUDE:'InForm\InForm.ui'
and the form so that works.
Code: (Select All)
': This form was generated by
': InForm - GUI library for QB64 - v1.3
': Fellippe Heitor, 2016-2021 - fellippe@qb64.org - @fellippeheitor
': https://github.com/FellippeHeitor/InForm
'-----------------------------------------------------------
Sub __UI_LoadForm
Dim __UI_NewID As Long, __UI_RegisterResult As Long
Even though they've had FLAC in QB64pe for a while I'm just now getting into it. Which is weird because I love FLAC files. The majority of my music library is FLAC format because I'm a big audiophile. Anyways, I decided to look into the FLAC format for tags and such as well as the embedded album art stuff. Turns out, super easy to grab data from a FLAC file. Here's the test code I've used:
Code: (Select All)
Option Explicit
$NoPrefix
$Console
Dim As String file: file = "07 - Project 86 - Team Black.flac"
Dim As Long hfile: hfile = FreeFile
Open "B", hfile, file
Dim As String rawdata: rawdata = Space$(LOF(hfile))
Get hfile, , rawdata
Close
Dim As String SOI: SOI = Chr$(&HFF) + Chr$(&HD8)
Dim As String EOI: EOI = Chr$(&HFF) + Chr$(&HD9)
Dim As String lyrics: lyrics = Mid$(rawdata, InStr(rawdata, "LYRICS=") + Len("LYRICS=")): lyrics = Mid$(lyrics, 1, InStr(lyrics, Chr$(0)) - 2)
Dim As Long tracknumber: Dim As String track: track = Mid$(rawdata, InStr(rawdata, "TRACKNUMBER=") + Len("TRACKNUMBER=")): track = Mid$(track, 1, InStr(track, Chr$(0))): tracknumber = Val(track)
Dim As String songtitle: songtitle = Mid$(rawdata, InStr(rawdata, "TITLE=") + Len("TITLE=")): songtitle = Mid$(songtitle, 1, InStr(songtitle, Chr$(0)) - 2)
Dim As String albumtitle: albumtitle = Mid$(rawdata, InStr(rawdata, "ALBUM=") + Len("ALBUM=")): albumtitle = Mid$(albumtitle, 1, InStr(albumtitle, Chr$(0)) - 2)
Dim As String artist: artist = Mid$(rawdata, InStr(rawdata, "ARTIST=") + Len("ARTIST=")): artist = Mid$(artist, 1, InStr(artist, Chr$(0)) - 2)
Dim As String albumdate: albumdate = Mid$(rawdata, InStr(rawdata, "DATE=") + Len("DATE=")): albumdate = Mid$(albumdate, 1, InStr(albumdate, Chr$(6)) - 1)
Dim As String image: image = Mid$(rawdata, InStr(rawdata, SOI)): image = Mid$(image, 1, InStr(image, EOI) + Len(EOI))
If Len(image) > 0 Then
Dim As Long hpic: hpic = FreeFile
If FileExists("cover.jpg") Then Kill "cover.jpg"
Open "B", hpic, "cover.jpg"
Put hpic, , image
Close
Dim As Long i: i = LoadImage("cover.jpg", 32)
If i < -1 Then Screen i Else Beep
rawdata = ""
Echo lyrics
Print "Artist:", artist
Print "Album :", albumtitle
Print "Track :", tracknumber
Print "Title :", songtitle
Print "Date :", albumdate
Title artist + " - " + songtitle
ConsoleTitle Title$ + " lyrics"
Dim As Long snd: snd = SndOpen(file, "stream")
If snd Then SndPlay snd
End If
And a test video:
I hope to make me a new project with the code. Obviously a point-and-click GUI. Probably Win32. I will have a trackbar for changing song position as well as a popup window for the lyrics and such. If I get really ambitious then I'll see about making me a tag editor for FLAC/MP3/WAV/etc files.
To download the song for testing: Project 86 - Team Black
So, I have a massive data base of decimal value with 5 digits after the decimal. I have routine which is trying to find the highest and the lowest of these values. Here is the algorythm that I am using but for some reason it's giving me the Highest value as the Lowest and the Lowest as the Highest.
HL = DataBaseValue
If HL < 1 And HL < Low Then Low = HL
Low = (_Round(Low * 100000)) / 100000
If HL < 1 And HL > High Then High = HL
High = (_Round(High * 100000)) / 100000
The rounding is to avoid scientific notation and be sure result will be 5 digit decimal value.
I can't see why this algorythm would give the High as Low and the Low as High.
I am making a space shooter game, and my idea is to make it online for playing with friends... but I have a very big problem, I don't know how to communicate one pc to another
I changed the line "TCP/IP:1234:localhost" and tried everything... my last one was "TCP/IP:8080:xxx.yyy.zzz.nnn" (where xxx.yyy.zzz.nnn is my current IP), but it is useless.
Any ideas?
Both PCs are NOT in the same LAN, one is mine and the other is from a work colleague.