Staredit Network > Forums > Modding Discussion > Topic: GPTP 2019
GPTP 2019
May 31 2020, 1:49 pm
By: UndeadStar  

May 31 2020, 1:49 pm UndeadStar Post #1



Hi all,

I feel like that thing will never move if I don't force myself to publish the point I reached, even if I would have wanted to go a bit further.
Thus time for the release of the replacement for "GPTP for VS2008", just called GPTP now (could have called it GPTP 2019 like the title in relation
to the version of Visual Studio, but people would think it's already dead as soon as the year progress :D )

Here it is: https://github.com/BoomerangAide/GPTP

Now I need to do some stuff on the old version to tell about the new one

Note: this is the replacement/continuation of the now stopped GPTP for VS2008 of http://www.staredit.net/topic/16751/

Post has been edited 1 time(s), last time on Oct 7 2020, 12:37 pm by UndeadStar.




Oct 7 2020, 12:43 pm UndeadStar Post #2



Several updates since I posted this topic, and I didn't report here every time (I'm surprised I didn't do it even once), but I think between the harvest orders, the burrow orders, and older changes, there are plenty of new things to have fun with, or just to learn how initial orders and things work, to see what new things could be possible.

The harvest orders were a real pain, and I probably should one day go back there to try to hook some helpers because they hide some more interesting content, but for now, it's like that.
The burrowed orders may be useful for those making "move while burrowed", as they can now make sure they have all features of normal burrowing, and not destroying some with their changes.
And there's all the rest...maybe I should have updated this topic more often after all.Oh well, there's the changelog in the project.




Oct 7 2020, 4:04 pm Voyager7456 Post #3

Responsible for my own happiness? I can't even be responsible for my own breakfast

Keep up the great work UndeadStar! I've been taking advantage of a bunch of the new 5.9 hooks recently, looking forward to checking out the new update.



all i am is a contrary canary
but i'm crazy for you
i watched you cradling a tissue box
sneezing and sniffling, you were still a fox


Modding Resources: The Necromodicon [WIP] | Mod Night
My Projects: SCFC | ARAI | Excision [WIP] | SCFC2 [BETA] | Robots vs. Humans | Leviathan Wakes [BETA]


Nov 5 2020, 4:54 am A_of-s_t Post #4

aka idmontie

Thanks for continuing to maintain this. I'm glad to see I was able to clone the repo and build a new plugin using Visual Studio 2019.

Props! Hopefully I can contribute back with a hook for CMDRECV_HasMoneyCanMake. It's a bit messy, and I'm pretty rusty with C++ and ASM, so I'll clean it up first.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

Dec 16 2020, 2:39 pm UndeadStar Post #5



Recently I was working on the orders about the Installation doodads (traps, doors, this kind of stuff).
Now my usual test map doesn't have what it takes to test this stuff, so anyone know a map (preferably a campaign one) where I would be able to see very well if I broke something?




Dec 17 2020, 6:40 pm TF- Post #6

🤙🏾

Sounds exciting. Anyway I would definitely make a test map because it's unlikely you'll find every permutation of trap (Right Wall Missile Trap) in a given campaign map, Patriot's Blood probably has the most use of the Installation doodads but there's probably still something missing or hard to find there.



🤙🏾

Dec 28 2020, 10:28 am UndeadStar Post #7



Quote from TF-
Sounds exciting. Anyway I would definitely make a test map because it's unlikely you'll find every permutation of trap (Right Wall Missile Trap) in a given campaign map, Patriot's Blood probably has the most use of the Installation doodads but there's probably still something missing or hard to find there.
Thank you :cool2: .
I indeed had a stupid mistake in my code, causing the door to open instantly, then immediately start closing, making the mission impossible.
Now I think I tested enough to continue working on other things.

Hopefully I will upload another update once I'm at least through hooking the orders I could (at most 14 of them).

edit: It's actually done, most of those 14 were already hooked :D

Post has been edited 1 time(s), last time on Dec 29 2020, 11:56 am by UndeadStar.




Jan 8 2021, 2:57 pm Milestone Post #8



Hey UndeadStar, just wanted to say thanks for maintaining this version of GPTP! v5.940 is working great!




Sep 7 2021, 10:34 am UndeadStar Post #9



The end of the year (since the last update) was getting close, and I didn't want to remember it as only posting :wob: in the shoutbox (I may have done more, but details details details...)
So I finally managed to push forward enough to get an update:

Quote
Version 5.950:

- added ordersIDCases to orders_root
- hooks\right_click_returnedOrders added, and functions moved in from hooks\recv_commands\CMDRECV_RightClick
- Added PortraitId enum and use it in hooks\interface\status_display\unit_portrait
- added displayUpdatePortrait hack in hooks\interface\status_display\unit_portrait_inject
- unlocked DamageOverlay in images_dat now that use is confirmed
- added killTargetUnitCheck in hooks\weapons\weapon_damage
- hooks\weapons\weapon_impact added
- hooks\weapons\wpnsplash added
- Fixed mistake in helper function FindBestUnit where it appear
- changed some comments to reflect new knowledge
- minor fixes and changes

The orders root hooking is now finally complete (should have done a minor update for that thing).

The "returned orders" were taking too much space compared to the focus of CMDRECV_RightClick, so I moved them separately.

PortraitId was to support the portrait hack that come next.

I really don't link the displayUpdatePortrait hack, I don't want to write a whole book explaining what it is, how it work,
how to use it, and yet, I definitely must provide as much insight as possible to users, but that's more the competence
of a teacher than a programmer, so I didn't really know what to write around as comments for that.
I hope the way I did it won't cause more harm than help.

DamageOverlay unlock, as usual, I unlock things I had listed and left commented, after confirming they weren't beta version
things and the context confirm the name I should use.

The killTargetUnitCheck is useful, because without it, it looked like units should take damage while the invincibility cheat
was used. Now things are made clear, damage was reduced to 0 (again) within that function.

The weapon impact function is the source of all stuff from wpnspellhit hook.
It show where applying mind control as an explosion type cause a crash, how mutalisks bounce work (and crash if increased
the wrong way lol), where the impact logic of the parasite is applied, and other things.

The weapon splash hooks will finally provide the way to control the splash damage part of weapons damage.

The "comment about new knowledge" is mainly about the very old bunker_hooks.cpp and its unitCanAttackInsideBunkerHook
function (they were here before my GPTP 2008 :lol: ), revealed as really being an order executed by units (including
the AI one) within a bunker, as seen in function ordersIDCases.

That's it.

I'm not really sure in which direction I will go from now on, I'm still frustrated to have hit a wall with
Save/Load related stuff, even though it would be vital to allow to create any amount of new unit types without
replacing any with GPTP tricks, something I wish would become achievable eventually (if it's multiplayer, it's
probably already possible to do a lot).

edit:

:wallbash: :wallbash: :wallbash:
Seriously, I did kill stuff during my test, so why the die order summoning by the latest root of orders
functions wait until I played the campaign to start crashing the game.
Fixed that in a hurry in 5.950b, along the hold position not allowing units to attack, and the wrong
max timer being displayed for hallucinations/broodlings.
:oops:

Post has been edited 1 time(s), last time on Sep 9 2021, 10:00 pm by UndeadStar.




Oct 11 2021, 2:44 pm UndeadStar Post #10



Version 6.000 is up.

I found a workaround to allow users to write some code that get executed right after save/load (since I could not hook the main logic itself).
This should work and allow some features that would be reserved to multiplayer to be available for single player (because you can handle the case of an user saving instead of playing to the end in 1 go like users have to do in multi).
The developer still need to know how to open a file and read/write with it.

Another addition: some hooking around cheat codes, to allow users to add their own cheat codes (an example is even provided and activated by default).

Not as big addition, but still there, a new attack_and_cooldown hook.

Besides the new things, I fixed a bug where the progress bar was frozen during a research.
And because I decide to go for the big number in version number, I did lots of check and cleanup for consistency or readability and stuff around.
Some things I changed that way maybe will fix bugs...I don't think it could create new ones, or I'm having bad luck :-_-:

Hoping it will be enjoyed.




Oct 12 2021, 1:49 pm Voyager7456 Post #11

Responsible for my own happiness? I can't even be responsible for my own breakfast

Great work UndeadStar! I'm sure people will find the save/load hooks useful.



all i am is a contrary canary
but i'm crazy for you
i watched you cradling a tissue box
sneezing and sniffling, you were still a fox


Modding Resources: The Necromodicon [WIP] | Mod Night
My Projects: SCFC | ARAI | Excision [WIP] | SCFC2 [BETA] | Robots vs. Humans | Leviathan Wakes [BETA]


Oct 12 2021, 2:57 pm Lagi Post #12



i think i will install all this software, and with having new hooks, restart making my perfect brood war :D



None.

May 5 2023, 10:05 pm A_of-s_t Post #13

aka idmontie

I'll have to set some time aside to merge your changed from https://github.com/BoomerangAide/GPTP/tree/master/GPTP back into https://github.com/SCMapsAndMods/general-plugin-template-project at some point.

EDIT: also need to bring in some cool examples from https://github.com/KYSXD/GPTP-For-VS2008 (ie https://github.com/KYSXD/GPTP-For-VS2008/wiki/%5BSource%5D-Smart-Casting-Interface).

Post has been edited 2 time(s), last time on May 6 2023, 8:10 pm by A_of-s_t.



Personal GitHub
Starcraft GitHub Organization - Feel free to request member status!
TwitchTV

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[2024-10-31. : 12:30 am]
ClansAreForGays -- When you join a pub lobby because you see 7/8 players, but then realize host is bating you with computers. :flamer: :flamer:
[2024-10-30. : 11:48 pm]
O)FaRTy1billion[MM] -- :wob:
[2024-10-30. : 6:24 pm]
Ultraviolet -- :wob:
[2024-10-29. : 4:33 pm]
Vrael -- :wob:
[2024-10-29. : 1:32 pm]
Zoan -- :wob:
[2024-10-28. : 5:21 pm]
Ultraviolet -- :wob:
[2024-10-27. : 4:34 pm]
jjf28 -- :wob:
[2024-10-27. : 9:01 am]
Zycorax -- :wob:
[2024-10-27. : 3:31 am]
RIVE -- :wob:
[2024-10-26. : 7:12 pm]
Ultraviolet -- :wob:
Please log in to shout.


Members Online: Roy, RIVE