War2.ru Slogan
News: The new antihack is here! Upgrade to War2Combat 4.0
today (it will eventually be mandatory for playing!)


Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
Welcome to the forums! We're glad to have you here! :) You can register your account here, then feel free to introduce yourself in the Server.War2.ru board & let us know who you are on the server.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Lambchops

Pages: [1] 2 3 ... 46
We all love brother Kyle, not only is he a good person, but the consensus greatest Warcraft 2 player of all time

Pretty sure Katy Perry pwns his noob ass ;)

Apologies. 5:50am here and if im still awake in 2 hours when its 5pm there I don't think I'm going to have any brain cells left for a tourney. But gl and hf all  :)  :critter:

3) Mods & Development / Re: Nerd's Corner
« on: February 17, 2018, 02:47:47 AM »
CALCULATING  TERRAIN TILE VALUES

So I'm up to the terraforming bit of this whole map editor thing, and this is as good a place as any to document it as I go. The wc2 game background is made up of blocks of 8x8 pixel data that are constructed into 32x32 pixel 'tiles'. The tile value for each map location is stored as a 16 bit value in PUD files (MTXM section).

I use 3 letter abbreviations to denote the different terrain types as follows:

Code: [Select]
LTW - light water
DKW - dark water 
LTM - light mud(coast)
DKM - dark mud 
LTG - light grass
DKG - dark grass
TRE - trees
ROC - rocks
HWL - human wall
OWL - orc wall

Each 32x32 tile can be made up of either 1 or 2 terrain types. Tiles with only 1 terrain type I call solid tiles. Tiles with 2 terrain types I call border tiles.

NUMERICAL FORMAT

All tiles are stored as 16bit values, with the information encoded as a sequence of nibbles (4 bits). There are multiple versions of each tile which have slightly different graphics to create a more natural look to the map. For all tiles this pictorial variant is stored in the least significant nibble (bits 0-3) and these 4 bits have no other relevance to the game mechanics.

Code: [Select]
i.e.
0x0050 LTG variant 0
0x0051 LTG variant 1
0x0055 LTG variant 5
etc.

"FILLER" TILES

The light and dark mud and grass tiles have variants depicting objects - rocks plants skulls etc. numbered as follows:

Code: [Select]
LTG/DKG - 0-2 Plain Solid
LTG/DKG - 4-9 Filler Solid
LTM/DKM - 0-3 Plain Solid
LTM/DKM - 4-B Filler Solid
i.e. 0x0057 = LTG 4th filler tile (the one with the big rock)

Unused values for the variant nibble will be mapped as repeats of the other solid tiles.

SOLID TILE VALUES
Code: [Select]
0x001v - LTW
0x002v - DKW
0x003v - LTM
0x004v - DKM
0x005v - LTG
0x006v - DKG
0x007v - TRE
0x008v - ROC
0x009v - OWL (Single)
0x00Av - HWL (Single)
0x00Bv - OWL (central)
0x00Cv - HWL (central)
Where v designates the graphics variant.

SOLID WALL VARIANTS

Code: [Select]
v=0-1 Full
v=2   Damaged
v=3   Full
v=4   Destroyed
v=5-F Full

BORDER TILES

Border tiles are made up of 2 different terrain types. Not all terrain can co-exist on a border tile. Acceptable combinations are:

Code: [Select]
Value    (0) (1)
0x01Lv - LTW/DKW
0x02Lv - LTM/LTW
0x03Lv - LTM/DKM
0x04Lv - LTM/ROC
0x05Lv - LTG/LTM
0x06Lv - LTG/DKG
0x07Lv - LTG/TRE
Where v designates the graphics variant.
Where L designates the layout.

For border tiles the 2nd nibble represents the layout. Each bit in the nibble represents one quater of the tile.

Code: [Select]
  bit0 - bit1
   |      |
  bit2 - bit3

So for a grass/tree border tile like this:

Code: [Select]
TG
TT
(all trees except grass in the top right)
the bit values are

Code: [Select]
10
11

= 1101 binary

as border tile layouts dont represent solid tiles, the first value is 0001 not 0000 - which would be solid, however they are stored starting with 0 so at this point all values must have 1 subtracted from them

= 13 - 1
= 12   ( 0x0C )

so using 0x07Lv - LTG/TRE

this tile would be 0x07C0
or 0x07C1 for the other variant.

*border tiles have 2 variants each for corners and 3 variants for straight edges.

JOINED WALL TILES

Code: [Select]
0x08Lv - HWL Joined
0x09Lv - OWL Joined

The layout of joined wall tiles:

Code: [Select]
BIT  2
   3 # 1
     0

So for a 3-way join between walls left, right and below we need bits 3,1,0... so:
binary 1011 = decimal 11 (0x0B) -1 = decimal 10 (0x0A)

so OWL like this:
Code: [Select]
###
 #
= 0x09A0

*corners/joins have 1 variant straight joined walls (above&below or left&right) have 2 variants.


4) Server.War2.ru / Re: Babyshark I will give you ALL the gold/wood on gow classic
« on: February 16, 2018, 11:35:17 PM »
That much beer and you're not giving anyone all the wood  ;D


Coming soon: Lambchops thinks he's better than swift at mario-kart


... ima get all gangsta and put up a badass hip-hop challenge rap vid with me wearing gold chains and jeans that show half my arse-crack. Will post soon - just doing final mixdown  :pig:

6) Mods & Development / Re: Nerd's Corner
« on: February 15, 2018, 10:58:54 PM »
00 00 00 00 00 00 00 00 90 24 44 00 F0 25 44 00 00 00 00 00 A0 26 44 00 D0 28 44 00 80 29 44 00 E0 29 44 00 90 2A 44 00 20 2B 44 00 E0 2B 44 00 60 2C 44 00 F0 2C 44 00 80 2D 44 00 90 2E 44 00 C0 32 44 00 30 33 44 00 E0 33 44 00 80 34 44 00  u see them mem address the exe tells you swithc them up

well for example the first one 0x00442490
its an address in the .text section = code (instructions)

heres a dump of the WC2 PE header info:

Spoiler
Code: [Select]
Warcraft II BNE.exe - PE Image Information                              Lambchops  2002-2017

----------------------------------------


IMAGE_DOS_HEADER - SIZE: 62
  e_magic                          0x5A4D
  e_cblp                           0x0090
  e_cp                             0x0003
  e_crlc                           0x0000
  e_cparhdr                        0x0004
  e_minalloc                       0x0000
  e_maxalloc                       0xFFFF
  e_ss                             0x0000
  e_sp                             0x00B8
  e_csum                           0x0000
  e_ip                             0x0000
  e_cs                             0x0000
  e_lfarlc                         0x0040
  e_ovno                           0x0000
  e_res_1                          0x0000
  e_res_2                          0x0000
  e_res_3                          0x0000
  e_res_4                          0x0000
  e_oemid                          0x0000
  e_oeminfo                        0x0000
  e_res2_1                         0x0000
  e_res2_2                         0x0000
  e_res2_3                         0x0000
  e_res2_4                         0x0000
  e_res2_5                         0x0000
  e_res2_6                         0x0000
  e_res2_7                         0x0000
  e_res2_8                         0x0000
  e_res2_9                         0x0000
  e_res2_A                         0x0000
  e_lfanew                         0x00E8

----------------------------------------


IMAGE_SIGNATURE - SIZE: 4
  Signature                        0x00004550

----------------------------------------


IMAGE_FILE_HEADER - SIZE: 20
  Machine                          0x014C
  NumberOfSections                 0x0004
  TimeDateStamp                    0x3B01973F
  PointerToSymbolTable             0x00000000
  NumberOfSymbols                  0x00000000
  SizeOfOptionalHeader             0x00E0
  Characteristics                  0x010F

----------------------------------------


IMAGE_OPTIONAL_HEADER - SIZE: 96
  Magic                            0x010B
  MajorLinkerVersion               0x06
  MinorLinkerVersion               0x00
  SizeOfCode                       0x0008F000
  SizeOfInitializedData            0x0004B000
  SizeOfUninitializedData          0x00000000
  AddressOfEntryPoint              0x0007DC88
  BaseOfCode                       0x00001000
  BaseOfData                       0x00090000
  ImageBase                        0x00400000
  SectionAlignment                 0x00001000
  FileAlignment                    0x00001000
  MajorOperatingSystemVersion      0x0004
  MinorOperatingSystemVersion      0x0000
  MajorImageVersion                0x0000
  MinorImageVersion                0x0000
  MajorSubsystemVersion            0x0004
  MinorSubsystemVersion            0x0000
  Reserved1                        0x00000000
  SizeOfImage                      0x000DB000
  SizeOfHeaders                    0x00001000
  CheckSum                         0x00000000
  Subsystem                        0x0002
  DllCharacteristics               0x0000
  SizeOfStackReserve               0x00100000
  SizeOfStackCommit                0x00001000
  SizeOfHeapReserve                0x00100000
  SizeOfHeapCommit                 0x00001000
  LoaderFlags                      0x00000000
  NumberOfRvaAndSizes              0x00000010

----------------------------------------



IDD# 2  [ IMPORT ]
IMAGE_DATA_DIRECTORY - SIZE: 8
  VirtualAddress                   0x0009208C
  Size                             0x000000B4

IDD# 3  [ RESOURCE ]
IMAGE_DATA_DIRECTORY - SIZE: 8
  VirtualAddress                   0x000D9000
  Size                             0x00001210

IDD# 13  [ IMPORT ADDRESS ]
IMAGE_DATA_DIRECTORY - SIZE: 8
  VirtualAddress                   0x00090000
  Size                             0x000004E8

----------------------------------------


IMAGE_SECTION_HEADER - SIZE: 40
  Name                             .text
  VirtualSize                      0x0008E2EE
  VirtualAddress                   0x00001000
  SizeOfRawData                    0x0008F000
  PointerToRawData                 0x00001000
  PointerToRelocations             0x00000000
  PointerToLinenumbers             0x00000000
  NumberOfRelocations              0x0000
  NumberOfLinenumbers              0x0000
  Characteristics                  0x60000020
  - CNT_CODE
  - MEM_EXECUTE
  - MEM_READ

----------------------------------------


IMAGE_SECTION_HEADER - SIZE: 40
  Name                             .rdata
  VirtualSize                      0x00003420
  VirtualAddress                   0x00090000
  SizeOfRawData                    0x00004000
  PointerToRawData                 0x00090000
  PointerToRelocations             0x00000000
  PointerToLinenumbers             0x00000000
  NumberOfRelocations              0x0000
  NumberOfLinenumbers              0x0000
  Characteristics                  0x40000040
  - CNT_INITIALIZED_DATA
  - MEM_READ

----------------------------------------


IMAGE_SECTION_HEADER - SIZE: 40
  Name                             .data
  VirtualSize                      0x000445B0
  VirtualAddress                   0x00094000
  SizeOfRawData                    0x00018000
  PointerToRawData                 0x00094000
  PointerToRelocations             0x00000000
  PointerToLinenumbers             0x00000000
  NumberOfRelocations              0x0000
  NumberOfLinenumbers              0x0000
  Characteristics                  0xC0000040
  - CNT_INITIALIZED_DATA
  - MEM_READ
  - MEM_WRITE

----------------------------------------


IMAGE_SECTION_HEADER - SIZE: 40
  Name                             .rsrc
  VirtualSize                      0x00001210
  VirtualAddress                   0x000D9000
  SizeOfRawData                    0x00002000
  PointerToRawData                 0x000AC000
  PointerToRelocations             0x00000000
  PointerToLinenumbers             0x00000000
  NumberOfRelocations              0x0000
  NumberOfLinenumbers              0x0000
  Characteristics                  0x40000040
  - CNT_INITIALIZED_DATA
  - MEM_READ

----------------------------------------


IMAGE_IMPORT_DESCRIPTOR - SIZE: 20
  Characteristics                  0x0009235C
  TimeDateStamp                    0x00000000
  ForwarderChain                   0x00000000
  Name                             0x00092628
  FirstThunk                       0x0009021C

----------------------------------------

Imported from Storm.dll
  Hint  Function
-----------------------
  Ord0077
  Ord006D
  Ord0082
  Ord0073
  Ord008A
  Ord006A
  Ord0075
  Ord0078
  Ord007B
  Ord0066
  Ord007A
  Ord0079
  Ord0080
  Ord007F
  Ord01CE
  Ord01EB
  Ord0086
  Ord01F6
  Ord0193
  Ord01FC
  Ord0070
  Ord006B
  Ord0182
  Ord0185
  Ord0189
  Ord0186
  Ord0181
  Ord017F
  Ord013A
  Ord008B
  Ord01A9
  Ord00CE
  Ord00D3
  Ord00D8
  Ord01AF
  Ord00DD
  Ord01B2
  Ord01BD
  Ord007D
  Ord0071
  Ord00DE
  Ord0165
  Ord015A
  Ord00D0
  Ord0143
  Ord0145
  Ord010D
  Ord0109
  Ord01CF
  Ord0112
  Ord0117
  Ord01A5
  Ord01A8
  Ord01AC
  Ord01EE
  Ord0110
  Ord01D1
  Ord010B
  Ord0108
  Ord0113
  Ord0114
  Ord008C
  Ord0100
  Ord023B
  Ord00FF
  Ord0102
  Ord0164
  Ord0139
  Ord0162
  Ord015E
  Ord01AA
  Ord015F
  Ord01D4
  Ord0191
  Ord01F5
  Ord01FA
  Ord01F7
  Ord01FD
  Ord023C
  Ord0072
  Ord00FC
  Ord010A
  Ord00FD
  Ord010C
  Ord01A6
  Ord0089
  Ord01CA
  Ord01C9
  Ord01C6
  Ord01A7
  Ord0101
  Ord0105
  Ord01C5
  Ord0104
  Ord01C3

----------------------------------------



----------------------------------------


IMAGE_IMPORT_DESCRIPTOR - SIZE: 20
  Characteristics                  0x00092198
  TimeDateStamp                    0x00000000
  ForwarderChain                   0x00000000
  Name                             0x00092D96
  FirstThunk                       0x00090058

----------------------------------------

Imported from KERNEL32.dll
  Hint  Function
-----------------------
  0109: GetCurrentProcess
  0298: SetHandleCount
  0168: GetStdHandle
  01E5: LocalAlloc
  018E: GetVersion
  0230: RaiseException
  0125: GetFileSize
  00DE: GetComputerNameA
  0030: CreateDirectoryA
  0293: SetFileAttributesA
  028D: SetEnvironmentVariableA
  0025: CompareStringW
  0024: CompareStringA
  028C: SetEndOfFile
  00B9: FlushFileBuffers
  02A8: SetStdHandle
  02EE: VirtualAlloc
  0295: SetFilePointer
  016C: GetStringTypeW
  0169: GetStringTypeA
  02F1: VirtualFree
  01B6: HeapCreate
  01B8: HeapDestroy
  018F: GetVersionExA
  011C: GetEnvironmentVariableA
  0128: GetFileType
  011B: GetEnvironmentStringsW
  0119: GetEnvironmentStrings
  00C2: FreeEnvironmentStringsW
  00C1: FreeEnvironmentStringsA
  0257: RtlUnwind
  01BE: HeapSize
  01BD: HeapReAlloc
  0146: GetOEMCP
  00C9: GetACP
  00CF: GetCPInfo
  02CB: TerminateProcess
  01B4: HeapAlloc
  02DB: UnhandledExceptionFilter
  02D2: TlsGetValue
  029C: SetLastError
  02D0: TlsAlloc
  01BA: HeapFree
  01DD: LCMapStringW
  01DC: LCMapStringA
  0202: MultiByteToWideChar
  0301: WideCharToMultiByte
  008C: ExitProcess
  01CB: InterlockedIncrement
  0166: GetStartupInfoA
  008D: ExitThread
  02D3: TlsSetValue
  010C: GetCurrentThreadId
  004D: CreateThread
  026C: SetConsoleCtrlHandler
  012F: GetLocalTime
  0186: GetTickCount
  0138: GetModuleFileNameA
  005C: DeleteFileA
  009F: FindClose
  00AC: FindNextFileA
  00A3: FindFirstFileA
  012D: GetLastError
  00DA: GetCommandLineA
  0117: GetDriveTypeA
  0132: GetLogicalDriveStringsA
  001E: CloseHandle
  0037: CreateFileA
  02C3: Sleep
  01C5: InitializeCriticalSection
  005A: DeleteCriticalSection
  0153: GetProcAddress
  01DF: LoadLibraryA
  0290: SetEvent
  01DE: LeaveCriticalSection
  006F: EnterCriticalSection
  0252: ResetEvent
  02FD: WaitForSingleObject
  0034: CreateEventA
  02FB: WaitForMultipleObjects
  023D: ReadFile
  0263: SetCommState
  00D8: GetCommState
  0264: SetCommTimeouts
  01E9: LocalFree
  0174: GetSystemTime
  00C3: FreeLibrary
  0147: GetOverlappedResult
  030E: WriteFile
  01D0: IsBadReadPtr
  013A: GetModuleHandleA
  02F6: VirtualQuery
  0332: lstrcpynA
  01D3: IsBadWritePtr
  00BE: FormatMessageA
  02B8: SetUnhandledExceptionFilter
  01A8: GlobalMemoryStatus
  0113: GetDiskFreeSpaceA
  0172: GetSystemInfo
  0189: GetTimeZoneInformation
  0201: MulDiv
  0187: GetTimeFormatA
  010D: GetDateFormatA
  0099: FileTimeToSystemTime
  0098: FileTimeToLocalFileTime
  0120: GetFileAttributesA
  01C8: InterlockedDecrement

----------------------------------------



----------------------------------------


IMAGE_IMPORT_DESCRIPTOR - SIZE: 20
  Characteristics                  0x000924DC
  TimeDateStamp                    0x00000000
  ForwarderChain                   0x00000000
  Name                             0x000931DC
  FirstThunk                       0x0009039C

----------------------------------------

Imported from USER32.dll
  Hint  Function
-----------------------
  01F6: RegisterClassA
  00DF: GetActiveWindow
  0196: IsWindowVisible
  026F: ShowWindow
  0105: GetDlgItem
  010A: GetFocus
  0138: GetParent
  0213: SendDlgItemMessageA
  00B9: EnableWindow
  01D7: OffsetRect
  015A: GetWindowLongA
  017E: InvalidateRect
  00B1: DrawTextA
  01A2: LoadIconA
  0095: DialogBoxParamA
  0160: GetWindowRect
  022A: SetCursor
  0263: SetWindowTextA
  01EE: PtInRect
  0220: SetActiveWindow
  0234: SetForegroundWindow
  00D2: EnumWindows
  0166: GetWindowThreadProcessId
  0190: IsIconic
  019A: LoadAcceleratorsA
  0287: TranslateMessage
  0149: GetSystemMetrics
  005A: CreateWindowExA
  0296: UpdateWindow
  0284: TranslateAcceleratorA
  022C: SetCursorPos
  00D7: FindWindowA
  0233: SetFocus
  0276: SystemParametersInfoA
  000C: BeginPaint
  00BD: EndPaint
  0218: SendMessageA
  0221: SetCapture
  0206: ReleaseCapture
  0086: DefWindowProcA
  00FF: GetCursorPos
  020E: ScreenToClient
  0102: GetDesktopWindow
  00BB: EndDialog
  026B: ShowCursor
  00F3: GetClientRect
  0146: GetSysColor
  019E: LoadCursorA
  01CF: MsgWaitForMultipleObjects
  0097: DispatchMessageA
  0199: KillTimer
  0257: SetTimer
  02B3: wsprintfA
  0260: SetWindowPos
  0100: GetDC
  0207: ReleaseDC
  01E3: PostMessageA
  0230: SetDlgItemTextA
  010B: GetForegroundWindow
  01E1: PeekMessageA
  0156: GetWindow
  00F0: GetClassNameA
  025D: SetWindowLongA
  01C3: MessageBoxA
  01AF: LoadStringA
  008B: DestroyAcceleratorTable

----------------------------------------



----------------------------------------


IMAGE_IMPORT_DESCRIPTOR - SIZE: 20
  Characteristics                  0x00092148
  TimeDateStamp                    0x00000000
  ForwarderChain                   0x00000000
  Name                             0x00093328
  FirstThunk                       0x00090008

----------------------------------------

Imported from GDI32.dll
  Hint  Function
-----------------------
  00A2: ExtTextOutA
  0037: CreateFontA
  0191: MoveToEx
  020C: TextOutA
  01F8: SetTextAlign
  01D4: SetBkColor
  01FA: SetTextColor
  0172: GetTextExtentExPointA
  012D: GetDeviceCaps
  017E: GetTextMetricsA
  0054: DeleteObject
  0157: GetObjectA
  0038: CreateFontIndirectA
  002B: CreateCompatibleDC
  01CE: SelectObject
  0176: GetTextExtentPoint32A
  0051: DeleteDC
  015C: GetPaletteEntries
  0167: GetStockObject

----------------------------------------



----------------------------------------


IMAGE_IMPORT_DESCRIPTOR - SIZE: 20
  Characteristics                  0x00092140
  TimeDateStamp                    0x00000000
  ForwarderChain                   0x00000000
  Name                             0x00093342
  FirstThunk                       0x00090000

----------------------------------------

Imported from ADVAPI32.dll
  Hint  Function
-----------------------
  00F3: GetUserNameA

----------------------------------------



----------------------------------------


IMAGE_IMPORT_DESCRIPTOR - SIZE: 20
  Characteristics                  0x00092348
  TimeDateStamp                    0x00000000
  ForwarderChain                   0x00000000
  Name                             0x000933A8
  FirstThunk                       0x00090208

----------------------------------------

Imported from SHELL32.dll
  Hint  Function
-----------------------
  0063: SHGetPathFromIDListA
  008C: ShellExecuteA
  0027: FindExecutableA
  0066: SHGetSpecialFolderLocation

----------------------------------------



----------------------------------------


IMAGE_IMPORT_DESCRIPTOR - SIZE: 20
  Characteristics                  0x000925F8
  TimeDateStamp                    0x00000000
  ForwarderChain                   0x00000000
  Name                             0x000933B4
  FirstThunk                       0x000904B8

----------------------------------------

Imported from WSOCK32.dll
  Hint  Function
-----------------------
  Ord0015
  Ord0011
  Ord0073
  Ord0017
  Ord0014
  Ord000C
  Ord0009
  Ord0002
  Ord0006
  Ord0003
  Ord0074

----------------------------------------



----------------------------------------


IMAGE_IMPORT_DESCRIPTOR - SIZE: 20
  Characteristics                  0x000925E8
  TimeDateStamp                    0x00000000
  ForwarderChain                   0x00000000
  Name                             0x00093402
  FirstThunk                       0x000904A8

----------------------------------------

Imported from VERSION.dll
  Hint  Function
-----------------------
  0001: GetFileVersionInfoSizeA
  0000: GetFileVersionInfoA
  000A: VerQueryValueA

----------------------------------------

so the first thing is the ImageBase which is in the IMAGE_OPTIONAL_HEADER (which is very non-optional BTW)

the image base is 0x00400000, which is the default  for exe file so that's easy.

so we subtract that from the address ad we get 0x00042490
This is now a virtual address (aka VA) because it is an relative to the image base.

so looking through the IMAGE_SECTION_HEADERs we can see that the .text section has:
  VirtualSize                      0x0008E2EE
  VirtualAddress                0x00001000

which means it will be 0x00401000 -> 0x0048F2EE in memory ...

but anyway we can see that  1000 < 42490 < (1000+8E2EE)  so we know it's in this section.

so then we subtract the VirtualAddress 42490-1000 = 41490
this is the offset into the .text section for our address.

So then we just have to know where the text section is in the exe file, that is PointerToRawData

In this case Pointer to raw data is also 0x1000, same as virtual address so we just add 1000 back again and we get 42490 as the exe file offset.

This example is very easy because VirtualAddress=PointerToRawData.

If we wanted an address in the .rsrc section it would be different:

e.g.  0x004DA666
we have:
    ImageBase           =0x00400000
    VirtualAddress     =0x000D9000
    PointerToRawData =0x000AC000

so:
0x004DA666 - 0x00400000 - 0x000D9000 + 0x000AC000 = 0x000AD666 (exe file offset)

----------================-------------


END RESULT.... for all those ones in your mem dump there just remove the first '4' ;)

0x00442490 mem = 0x00042490 file

... but it's not always like that.




Nooo!! Put the old 1 back.


Ya it's not permenant, just a temporary change of scenery

I was going to update my avatar with this:



but its too big to animate so I went with the gold mine instead.


9) Forum Affairs / Re: War2 Positivity Perspective
« on: February 15, 2018, 05:08:33 PM »
Does the ax disappear like that in game?? I'm gonna have to stare closely next time I play. I can't even wait that long I have to check it out right now.

LOL that's the first thing I noticed when I made this GIF. I comes straight from the game GRPs so yeah I guess it must.

10) Forum Affairs / Re: War2 Positivity Perspective
« on: February 15, 2018, 04:28:48 PM »
There ya go, is that better?

11) Forum Affairs / War2 Positivity Perspective
« on: February 15, 2018, 04:00:00 PM »
Look like the original topic is locked in the gold mine. So I'm writing this here.

I like good hosts like Ch0ppy, xXxSmeagolxXx, BabyShark, ~Tora~ and others I can't think of right now. I like them because they host games, are generally good-humored and have fun when they do. What short/long/on-topic/off-topic or whatever posts they write on the forum have very little to do with it, because for me it IS all about server.war2.ru.


                                                  Perspective   

12) General Discussion / Re: @Jordan4385
« on: February 15, 2018, 12:47:55 PM »
...the silly hats! Come on, you were all thinking it. What kind of GOD mandates silly hats? (also hi jews  lol not to mention RC priests)... and those beards. Whats up with them?

Your aware those hat's the Hasidic Jews wear cost about 5k usd? Those are some nice hats.

You're kidding?   :o   $5k ??

OMG next time I see a rabbi waring one ima stand to attention and salute!



13) General Discussion / Re: @Jordan4385
« on: February 15, 2018, 12:31:16 PM »
^^Your aware that around 80-90% of all the op’s post have something to do with their interpretation of religion.
I don’t really care what someone believes but most people don’t like it when someone pushes their beliefs on them. Add that to the fact that this is an internet forum and nobody knows each other. The likelihood of someone actually being converting is negligible.
Like why would someone try and preach their religion here of all places?

Why on earth would someone join yet another wc2 game after 20 years on the merry-go-round? Apart from the dopermine addiction thing, I really don't know, but I still keep doing it. We all have our patterns. I dont think any of them make sense really.

If someone was bashing on my door at 8am on a Sunday I might be a bit annoyed, but you only look at the forum when you choose to and you only have to scroll down a bit if you want.

Also it is worth noting that there is only around 600-800k words in the bible (depending on how you count them), and I'm pretty sure BS has already posted about three quaters of it, so she's got to run out some time  ;)


^^I don’t believe there is anything wrong with the religion of islam itself. But I will say there is something wrong with .....

...the silly hats! Come on, you were all thinking it. What kind of GOD mandates silly hats? (also hi jews ;) lol not to mention RC priests)... and those beards. Whats up with them?

14) General Discussion / Re: @Jordan4385
« on: February 15, 2018, 10:45:41 AM »
I hate people that push their religious beliefs beliefs on others. This is a Warcraft2 video game forum and the op seems to really believe the best place to preach their religion is here. Clearly someone like this is detached from reality.

TBH the religious stuff isn't really my kettle of fish either, but I do try not to hate.... and honestly, aren't we all a bit detached from reality in one way or another?

 





15) Mods & Development / Re: Nerd's Corner
« on: February 15, 2018, 10:36:55 AM »
Yes its in exe, but how do that cause u need Save exe with New value, i tired to do it but w2 didnt turn on

Ahh. Well it depends.

You can mod the process once the exe has been loaded.... or you can mod the exe file... BUT you can only mod the exe file if the value is in an initialized section. Virtual sections (uninitialised data) do not exist in the exe file so can only be modded in memory.

The offests in the exe file can be calculated from the values in the PE header. i.e. mem address - (ImageBase+VirtualAddress) + PointerToRawData = file address (IIRC something like that lol).

ImageBase is in the IMAGE_OPTIONAL_HEADER, and PointerToRawData, VirtualAddress are in the IMAGE_SECTION_HEADER for the relevant section. You will have to check the Characteristics to make sure the section isn't flagged as UNINITIALIZED.


Pages: [1] 2 3 ... 46