Show Posts

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.


Topics - %.gone.

Pages: 1
1
General THPS(X) / [THUG2] ClownJob'd
« on: November 20, 2021, 02:09:45 am »
ClownJob'd THUG2 Version by %.gone.

v1.0 - https://mega.nz/file/310CRDgQ#hEx65uyT0huJuzA3kP0H7CkIpM-olePBJfuot0CkVx4
v1.1 - https://mega.nz/file/LplyhByS#hzVESxp0EuLMhlteB_PNyFDrX888TSEaPOXLTbAIM70
v1.2 - https://mega.nz/file/a4UTmYCY#seB3N1nNOhO8LbnHL7rpetUDRYpJBFwAGye606acd1o

Included Files
  • ClownJob'd.dll
  • ClownJob'd.ini
  • THUGTWO.exe
  • ReadMe.txt

    Add ClownJob'd.dll and THUGTWO.exe to Tony Hawk's Underground 2\Game directory.
    ClownJob'd.ini needs write permission for storing window positions.
    If the directory your game is installed to is protected, e.g. Program Files (x86), ClownJob'd.ini needs to be located in
    (DRIVE LETTER):\Users\(YOU)\AppData\Local\VirtualStore\(GAME DIRECTORY),
    Default GAME DIRECTORY: Program Files (x86)\Activision\Tony Hawk's Underground 2\Game
    Virtualization will write to VirtualStore location leaving you with two copies of the .ini if not moved.

The purpose of this mod is to add some bug fixes and features asked about in the community, all while being self-contained and not making changes to any loose files. Some changes are made to scripts in memory and cfunctions in order for the features to work properly.

Features
v1.0
  • ShowConsole, enables a console window to display printf's. 
  • LogText, enables logging printf's. Will work with or without the console enabled.
    If both ShowConsole and LogText are disabled in the .ini the printf function isn't hooked.
  • Windowed mode, typical window mode with title bar and doesn't cover the taskbar.
  • BorderlessWindow mode, window mode without a title bar and can cover the taskbar.
  • Custom Resolution, set width and height.
    To use resolution settings from the registry (set by the game launcher), set both Width and Height to -1 in the .ini.
  • Option to store the window position when it's manually moved by the user.
    WindowPositionX and WindowPositionY settings in the .ini.
  • Added the ability to center the window to the display. WindowPositionMode setting in the .ini.
    0 = use WindowPositionX and WindowPositionY, 1 = Center to monitor rectangle, 2 = Center to work area rectangle, 3 = Force position 0,0
    Works with multi monitor setups. If force position, if the coordinates are invalid, or if the .ini values are invalid will use position 0,0 of the primary display.
  • Language toggle, THUG2 supported values 1 = English, 2 = French, 3 = German.
    Any other number and the tool will read the value from the registry, falling back to English if it isn't found in the registry.
  • PS2 Controls, PS2 style controls. setup your controller in the launcher for PC controls.
      Get off board              = L1 / LB
      Alt. get off board       = R1 / RB
      Nollie (Rotate left)     = L2 / LT or (none)
      Switch (Rotate right) = R2 / RT or (none)
    Modifies some global array's in memory for the controls to work properly.
  • CameraLockPlayer1, set which button acts as the camera lock button for player 1.
    Camera Lock control can't be set by the launcher so you can override the control in the .ini.
    Use the launcher to get the button number for the button you wish to act as the camera lock control and set the value in the .ini. Set to 0 to disable this feature.
  • CameraLockPlayer2, set which button acts as the camera lock button for player 2.
    Same as above but for Player 2.
  • Ability to set DropDown button.
    0 = Use defaults, 1 = L1, 2 = R1, 3 = L2, 4 = R2, any other number defaults to 0
  • DisplayIntros, enable intro movies displayed when the game first launches.
  • ScreenMode, 0 = auto; the mod calculates it, 1 = 4:3, 2 = 16:9, 3 = 16:10, 4 = 21:9, 5 = 21:10
  • XInput device support.
    This tool will auto-detect if player1 or player2 controllers are an XInput device that need their triggers split.
    If detected as an XInput device the left and right spin keys will be zeroed out, nothing is needed by the user.
    The application attempts to obtain an index without user input but this isn't always possible.
    Player1, from anywhere in the game, can press A, B, X, Y, DPAD Up, DPAD Down, DPAD Left or DPAD Right.
    If only player1 is an XInput controller, in addition to the controls above, you can use the Guide button (doesn't work on XInput 9.1.0) or L3 + R3 to obtain an index.
    Player2, from the select skater menu, A, B, X, Y, DPAD Up, DPAD Down, DPAD Left or DPAD Right will be checked against input data.
    Player2 always supports the Guide button (doesn't work on XInput 9.1.0) and L3 + R3 from anywhere in the game.
    In the event your controller is linked to the wrong index you can press F8 on the keyboard to clear the stored
    indexes and use one of the methods above to obtain a new index.
  • Vibration support for XInput devices without the need for force feedback drivers to be installed.
  • Ability to disable XInput support.
  • Added controller support for DI8DEVTYPE_DRIVING, DI8DEVTYPE_FLIGHT, and DI8DEVTYPE_1STPERSON.
    Some devices, including but not limited to DS4 v1 controllers, have their device type set as DI8DEVTYPE_1STPERSON preventing them from being used in game since the game, by default, only checks for DI8DEVTYPE_GAMEPAD and DI8DEVTYPE_JOYSTICK.
    DI8DEVTYPE_DRIVING, DI8DEVTYPE_FLIGHT device types are untested.
  • Invert Left stick and Right stick axes for player1.
    By default the camera is inverted on both X and Y axes.
    .ini settings InvertLXPlayer1 = 0, InvertLYPlayer1 = 0, InvertRXPlayer1 = 1, InvertRYPlayer1 = 1
  • Invert Left stick and Right stick axes for player2.
    By default the camera is inverted on both X and Y axes.
    .ini settings InvertLXPlayer2 = 0, InvertLYPlayer2 = 0, InvertRXPlayer2 = 1, InvertRYPlayer2 = 1
  • Large Drive bug fixed, if the drive the game was installed to has free space larger than integer max it would return a negative number.
    Will return (INT_MAX - (UINT16_MAX * 2)) in those cases instead. This corrects a bug found in THUG1 scripts that would add a value to the returned available space.
  • Option to display controller buttons in helper text areas.
    0 = Default keyboard, 1 = PS2 Buttons, 2 = XBOX Buttons, 3 = NGC buttons (ngc buttons haven't been mapped)
    The fonts are missing some stuff and the xbox button font is designed for the duke.
    I made some adjustments so the button lookup stops short of some of the missing items so you'll see some keyboard buttons in menus like create a graphic
    ButtonFontStyle setting in the .ini
  • Option to adjust the spin lag while spinning your skater with the triggers.
    The PC version adds a delay similar to that of spinning your skater with the direction buttons, PS2 doesn't have this delay.
    Set SpinLag setting in the .ini to a value between 0 and 100, 100 is the default for PC.
  • Fixed random track list generation.
    Hooks a few random function calls in the functions responsible for generating the random tracks list.
    This will not change the game engines random functions so all other areas of the game that use random calculations will function as expected.
  • OpenSpy support.
  • Script edits to replace the text GameSpy with OpenSpy also added in loading an OpenSpy logo from memory.
    these modifications can be disabled using NoOpenSpyScripting = 1 in the .ini file.
  • KP enter acts as quick chat in lobby.
  • Quick chat with more text allowed. Not unlimited but increased.
  • Unlimited Scale.
  • Added a setting to disable additional modifications NoAdditionalScriptMods.
    This option wont affect global variables needed for certain features to work properly like PS2 controls or DropDowns.
    This option wont affect OpenSpy scripting code. Disable using NoOpenSpyScripting = 1 in the .ini file.
    This option is more related to the unlimited scale, quick chat with more text allowed and future features requested like scaling the in game chat window.
  • Added special character ® /*alt+0174*/ and © /*alt+0169*/
  • Added Neversoft skater CAS options. Affected by NoAdditionalScriptMods flag.
    IsPs2 CFunction is hooked to return true if the calling script is check_for_neversoft_skaters.
    Change the skater name to one of the aliases associated with a profile found in master_neversoft_skater_list array.
Code: [Select]
  Name              | Alias
  NS TEST SKATER    | nstestskater

v1.1
  • Fixed an issue where an xinput device would constantly check for an index even if it had a valid index.
  • Fixed taunt rolling ground tricks not being changed to reflect PS2 controls.
v1.2
  • Fixed a performance issues that would cause strange latency spikes for some users.


Known Issues
  • HUD Scaling may seem a little off in some instances.
  • Sometimes the game crashes when connecting to online or backing out of online game play. Not sure what the cause is.

I'd like to thank anyone and everyone that helped directly or indirectly troubleshoot and/or test during the development of this mod.
Also, anyone that supported and pushed me to stop procrastinating to make this mod possible.
­
­

2
General THPS(X) / [THUG1 THUG2 THAW] Controller Issues
« on: August 16, 2020, 03:00:19 am »
These games by default only support Gamepad and Joystick controller types, in both the launcher and in game.
There are some devices like the DS4 v1 and some mayflash adapters that report the device as a FirstPerson type.
This thread is going to explain how to get the launcher and game to recognize your controller without third party
emulation or in the event there isn't third party software for your device/adapter.

Common device type            hex value
DI8DEVTYPE_JOYSTICK                 0x14
DI8DEVTYPE_GAMEPAD                 0x15
DI8DEVTYPE_DRIVING                    0x16
DI8DEVTYPE_FLIGHT                      0x17
DI8DEVTYPE_1STPERSON             0x18

With a hex editor navigate to the offset and modify the byte with one of the bytes above.
If you're modifying in place and the launcher or game exe is located in a protected directory you'll need to run your hex editor as admin.

THUG1
     Change 0x14 to 0x18 or to one of the other types.
     Launcher English, Offset: 0x00001B24
         
     Launcher French, Offset: 0x00001E06
         
     Launcher German, Offset: 0x00001E06
         
     
     Game PineCone NOCD, Offset: 0x001C394B
         
     ClownJob'd
          Version 1.2 supports all the device types above.
          You'll need to patch the launcher in order to bind your controller.
          ClownJob'd THUGONE.exe is the pinecone NOCD.

THUG2
     Change 0x14 to 0x18 or to one of the other types.
     Launcher English, Offset: 0x00001B24
         
     Launcher French, Offset: 0x00001E06
         
     Launcher German, Offset: 0x00001E06
         
     
     Game Reloaded NOCD that comes with my installation,  Offset: 0x001F31F0
         
     THUG Pro
          THUG Pro will get support for all device types above. In the meantime.
          You'll need to patch the THUG2 launcher, bind your controller, save and exit.
          With regedit navigate to HKEY_CURRENT_USER\Software\Activision\Tony Hawk's Underground 2\Settings
          In the left pane right click settings directory and select export, export somewhere like the desktop.
          Open that reg file with a text editor and change the key name from
          HKEY_CURRENT_USER\Software\Activision\Tony Hawk's Underground 2\Settings to
          HKEY_CURRENT_USER\Software\THUG Pro\Settings
          Remove every key that doesn't start with gp0_ or pad0. Save and run the reg file.
          Patch the THUG Pro exe at the same offset as the Reloaded NOCD

THAW
     Change 0x14 to 0x18 or to one of the other types.
     Launcher English, Offset: 0x00001B25
         

     Game Polish NOCD, Offset: 0x002B3830
         
     Game Reloaded English NOCD, Offset: 0x00268B40
         

3
General THPS(X) / [THUG1] ClownJob'd
« on: July 09, 2020, 12:56:27 am »
ClownJob'd THUG1 Version by %.gone.

v1.2 - https://mega.nz/file/jhkEiSYT#gUWdAuG2kcf2ShEfFKr2-AUoGKsy4apBnG_RWXB4nHY
v1.3 - https://mega.nz/file/W8MVzKDK#jakk90FwM8BlL9Dr6eGYf1e-Hwu5ucdvmAKVhrZJkWA

Included Files
  • ClownJob'd.dll
  • ClownJob'd.ini
  • THUGONE.exe
  • ReadMe.txt

    Add ClownJob'd.dll and THUGONE.exe to Tony Hawk's Underground/Game directory.
    ClownJob'd.ini needs write permission for storing window positions.
    If the directory your game is installed to is protected, e.g. Program Files (x86), ClownJob'd.ini needs to be located in
    (DRIVE LETTER):\Users\(YOU)\AppData\Local\VirtualStore\(GAME DIRECTORY), Default GAME DIRECTORY: Program Files (x86)\Activision\Tony Hawk's Underground\Game
    Virtualization will write to VirtualStore location leaving you with two copies of the .ini if not moved.

The purpose of this mod is to add some bug fixes and features asked about in the community, all while being self-contained and not making changes to any loose files. Some changes are made to scripts in memory and cfunctions in order for the features to work properly.

Features
v1.0
  • ShowConsole, enables a console window to display printf's. 
  • LogText, enables logging printf's. Will work with or without the console enabled.
    If both ShowConsole and LogText are disabled in the .ini the printf function isn't hooked.
  • Windowed mode, typical window mode with title bar and doesn't cover the taskbar.
  • BorderlessWindow mode, window mode without a title bar and can cover the taskbar.
  • Custom Resolution, set width and height. The game might crash if these values are set too high.
  • Language toggle, THUG1 supported values 1 = English, 2 = French, 3 = German.
    Any other number and the tool will read the value from the registry, falling back to English if it isn't found in the registry.
  • PS2 Controls, PS2 style controls. setup your controller in the launcher for PC controls.
        Get off board              = L1 / LB
        Alt. get off board        = R1 / RB
        Nollie (Rotate left)     = L2 / LT or (none)
        Switch (Rotate right) = R2 / RT or (none)
    Modifies some global array's in memory for the controls to work properly.
  • CameraLockPlayer1, set which button acts as the camera lock button for player 1.
    Camera Lock control can't be set by the launcher so you can override the control in the .ini.
    Use the launcher to get the button number for the button you wish to act as the camera lock control and set the value in the .ini. Set to 0 to disable this feature.
  • CameraLockPlayer2, set which button acts as the camera lock button for player 2.
    Same as above but for Player 2.
  • DisplayIntros, enable intro movies displayed when the game first launches.
  • ScreenMode, 0 = auto; the mod calculates it, 1 = 4:3, 2 = 16:9, 3 = 16:10, 4 = 21:9, 5 = 21:10
  • XInput device support.
    This tool will auto-detect if player1 or player2 controllers are an XInput device that need their triggers split.
    If detected as an XInput device the left and right spin keys will be zeroed out, nothing is needed by the user.
    The application attempts to obtain an index without user input but this isn't always possible.
    Player1, from anywhere in the game, can press A, B, X, Y, DPAD Up, DPAD Down, DPAD Left or DPAD Right.
    If only player1 is an XInput controller, in addition to A, B, X, or Y, you can use the Guide button (doesn't work on XInput 9.1.0) or L3 + R3 to obtain an index.
    Player2, from the select skater menu, A, B, X, Y, DPAD Up, DPAD Down, DPAD Left or DPAD Right will be checked against input data.
    Player2 always supports the Guide button (doesn't work on XInput 9.1.0) and L3 + R3 from anywhere in the game.
    In the event your controller is linked to the wrong index you can press F8 on the keyboard to clear the stored
    indexes and use one of the methods above to obtain a new index.
  • Large Drive bug fixed, if the drive the game was installed to has free space larger than integer max it would return a negative number.
    Will return integer max in those cases instead.
  • DPAD bug fixed. Issues with dpad up and down performing the same action and left and right performing the same action if analog and digital input were being used.
  • Ledge Warp bug fixed. Your skater will no longer prematurely warp to the ground from ledges or buildings.
    For anyone wanting to test without this fix add DisableLedgeWarpFix = 1 to the .ini file.
  • OpenSpy support.
  • Script edits to replace the text GameSpy with OpenSpy also added in loading an OpenSpy logo from memory.
    these modifications can be disabled using NoOpenSpyScripting = 1 in the .ini file.
  • KP enter acts as quick chat in lobby.
  • Quick chat with more text allowed. Not unlimited but increased.
  • DropDowns enabled. IsPs2 CFunction is hooked to return true if the calling script is grind.
  • Unlimited Scale.
v1.1
  • Added the ability to disable XInput support.
  • Added the ability to set DropDown button
    0 = Use defaults, 1 = L1, 2 = R1, 3 = L2, 4 = R2, any other number defaults to 0
v1.2
  • Cleaned up the .ini to remove some comments and add them to this read me instead.
  • Added the ability to store the window position when it's manually moved by the user.
    WindowPositionX and WindowPositionY settings in the .ini.
  • Added the ability to center the window to the display. WindowPositionMode setting in the .ini.
    0 = use WindowPositionX and WindowPositionY, 1 = Center to monitor rectangle, 2 = Center to work area rectangle, 3 = Force position 0,0
    Works with multi monitor setups. If force position, if the coordinates are invalid, or if the .ini values are invalid will use position 0,0 of the primary display.
  • Fixed a bug with certain user input and performing a level out, acid drop, or spine transfer causing the screen to render gray.
  • Fixed a bug preventing keyboard input of the Nollie and Switch controls if an XInput device was connected and XInput was not disabled.
  • Fixed a bug where the game was still receiving input even while unfocused if the game mode was story mode.
  • Fixed a bug that prevented the game from supporting full screen mode.
    Set both BorderlessWindow and Windowed to 0. Uses the loaded resolution settings Width and Height.
    To use resolution settings from the registry (set by the game launcher), set both Width and Height to -1 in the .ini.
  • Fixed a bug with resizing the window if dragging the left or top of the window.
  • Fixed a bug with properly sizing the client area of a window. Windowed modes should no longer extend beyond the current display when maximized.
  • Added experimental patches for better handling of connection refused. Currently wrapped with the NoOpenSpyScripting flag so they can be disabled.
  • Added a setting to disable additional modifications NoAdditionalScriptMods.
    This option wont affect global variables needed for certain features to work properly like PS2 controls or DropDowns.
    This option wont affect OpenSpy scripting code. Disable using NoOpenSpyScripting = 1 in the .ini file.
    This option is more related to the unlimited scale, quick chat with more text allowed and future features requested like scaling the in game chat window.
  • Added special character ® /*alt+0174*/ and © /*alt+0169*/
  • Added controller support for DI8DEVTYPE_DRIVING, DI8DEVTYPE_FLIGHT, and DI8DEVTYPE_1STPERSON.
    Some devices, including but not limited to DS4 v1 controllers, have their device type set as DI8DEVTYPE_1STPERSON preventing them from being used in game since the game, by default, only checks for DI8DEVTYPE_GAMEPAD and DI8DEVTYPE_JOYSTICK.
    DI8DEVTYPE_DRIVING, DI8DEVTYPE_FLIGHT device types are untested.
  • Added Neversoft skater CAS options. Affected by NoAdditionalScriptMods flag.
    IsPs2 CFunction is hooked to return true if the calling script is check_for_neversoft_skaters.
    Change the skater name to one of the aliases associated with a profile found in master_neversoft_skater_list array.
Code: [Select]
  Name              | Alias
  Ralph D'Amato     | deadendroad
  Rock              | M'YAK
  Eric Grosser      | crom
  MARCOS XK8R       | MARCOS XK8R
  Dan Nelson        | Dan Nelson
  Zac Drake         | ZiG
  The Kraken        | The Kraken
  Jeremy Andersen   | Jeremy Andersen
  Jake Geiger       | GEIGER
  Big Tex           | Big Tex
  Andy Marchel      | Andy Marchel
  Dana MacKenzie    | Daddy Mac
  C Surla           | Akira2s
  Ted Barber        | Hammer
  Skillzombie       | Skillzombie
  Todd Wahoske      | Todd Wahoske
  Bailey            | Bailey
  Chum              | Johnny Ow
  Chris Peacock     | ChrisP
  Darren Thorne     | DDT
  Chauwa Steel      | Chauwa Steel
  Todd Sue          | TSUEnami!
  Y2KJ              | Y2KJ
  Gary Jesdanun     | Yawgurt
  Greenie           | Greenie
  Glycerin          | Glycerin
  Dave Cowling      | TOPBLOKE
  Alan Flores       | Alan Flores
  Pete Day          | buffoon
  The Swink         | The Swink
  Mikey Ortai       | MOREUBERTHANED
  Paul Robinson     | POOPER
  Jeff Morgan       | NSJEFF
  grjost            | grjost
  Kendall           | FROGHAM
  Adam Lippmann     | THEDOC
  Jason Uyeda       | Jason Uyeda
  tao zheng         | tao zheng
  Chris Rausch      | Chris Rausch
  Captain Cody      | arrr
  Brad Bulkley      | fatass
  Nolan Nelson      | Noly
  Wardy             | leedsleedsleeds
  Kevin Mulhall     | Guilt Ladle
  sik®              | sik®
  Michelle Deyo     | WOODCHUCK
  Rulon Raymond     | 1337
  Joel Jewett       | Joel Jewett
  Dave Stohl        | Dave Stohl
  Stacey D          | Stacey D
  Mike Ward         | Mike Ward
  Alex Garcia       | Alex Garcia
  Henry Ji          | Henry Ji

v1.3
  • Fixed taunt rolling ground tricks not being changed to reflect PS2 controls.
  • Vibration support for XInput devices without the need for force feedback drivers to be installed.
  • Invert Left stick and Right stick axes for player1.
    By default the camera is inverted on both X and Y axes.
    .ini settings InvertLXPlayer1 = 0, InvertLYPlayer1 = 0, InvertRXPlayer1 = 1, InvertRYPlayer1 = 1
  • Invert Left stick and Right stick axes for player2.
    By default the camera is inverted on both X and Y axes.
    .ini settings InvertLXPlayer2 = 0, InvertLYPlayer2 = 0, InvertRXPlayer2 = 1, InvertRYPlayer2 = 1
  • Large Drive bug fixed, again, if the drive the game was installed to has free space larger than integer max it would return a negative number.
    Will return (INT_MAX - (UINT16_MAX * 2)) in those cases instead. This corrects a bug found in THUG1 scripts that would add a value to the returned available space.
  • Added an option to display controller buttons in helper text areas.
    0 = Default keyboard, 1 = PS2 Buttons, 2 = XBOX Buttons, 3 = NGC buttons
    The fonts are missing some stuff and the xbox button font is designed for the duke.
    I made some adjustments so the button lookup stops short of some of the missing items so you'll see some keyboard buttons in menus like create a deck
    ButtonFontStyle setting in the .ini.
  • Fixed random track list generation.
    Hooks a few random function calls in the functions responsible for generating the random tracks list.
    This will not change the game engines random functions so all other areas of the game that use random calculations will function as expected.
  • Fixed an issue with audio still playing even after the game loses focus.
  • Fixed an issue with controller devices not playing well with other applications.
  • Added MOTD bypass patch.
  • Fixed the mainmenu back plane size.
  • Added display deck in board scaling options.


Known Issues
  • The display area is stretched when the window is resized. For some reason if I change width and height of presentation parameters directly the game will resize to what the width and height were at startup.
  • HUD Scaling may seem a little off in some instances.
  • Sometimes the game crashes when connecting to online or backing out of online game play. This issue occurs with the patch.dll too. Not sure what the cause is.
  • If you're using a CAS created with THUG Plus the game may crash when going to edit your skaters tricks. I believe this is due to new tricks being added in THUG Plus.

I'd like to thank anyone and everyone that helped directly or indirectly troubleshoot and/or test during the development of this mod.
Also, anyone that supported and pushed me to stop procrastinating to make this mod possible.

4
Site Suggestions / Two things
« on: August 25, 2016, 11:44:41 pm »
1) Perhaps allow the forums to scroll even while the mouse is hovered over the left sidebar. Kind of a personal annoyance more than anything.
2) From the forums list subforums have their icon colored if there is a topic that hasn't been read.
Now lets say that subforum has multiple unread topic and I read one but go back to the main forums That subforum no longer notifies that there are unread topics even though unread topics exist.

Pages: 1