Skip to content

Create Transformers Pro (Stern 2011) v.2.2.vbs.original#436

Closed
Growlfy wants to merge 4 commits intojsm174:masterfrom
Growlfy:master
Closed

Create Transformers Pro (Stern 2011) v.2.2.vbs.original#436
Growlfy wants to merge 4 commits intojsm174:masterfrom
Growlfy:master

Conversation

@Growlfy
Copy link

@Growlfy Growlfy commented Oct 1, 2025

Add new vbs table

@francisdb
Copy link
Contributor

@jsm174 can you approve the workflow?

@jsm174
Copy link
Owner

jsm174 commented Oct 1, 2025

Hello. @Growlfy - It looks like you created two PRs, one for each file. You'll need to fix this one or that one -- to include all the files -- so we can accurately review it.

There's a bug in the Apron_Hit subroutine, which is called too early. I think ActiveBall.id is not properly defined when the function is called. Here’s the debug (line 3314) for anyone encountering the issue.
@Growlfy
Copy link
Author

Growlfy commented Oct 1, 2025

@jsm174 OK, this is my first pull request, so I'm a bit confused. I just modified it. Is it correct?

@jsm174
Copy link
Owner

jsm174 commented Oct 1, 2025

yes, but you should also include the patch file, so it's easier for us to review. There's a script in the root that will generate that part.

Also, fwiw, we try to address just the known wine quirks, and not try to patch the logic for a table because of a bug.

@Growlfy
Copy link
Author

Growlfy commented Oct 1, 2025

The patch file is generate by CI isn't it?

Note :
You do not need to submit [table.vbs.patch] in your PR as the CI will generate these automatically.

@francisdb
Copy link
Contributor

True, but it's hard to evaluate a patch file without the diff.

@jsm174
Copy link
Owner

jsm174 commented Oct 1, 2025

ahh. I did not see that entry in the readme. Guess I did a bad job on reviewing the PR that added that message. 😥

Anyway, if you could add it, we would appreciate it. It really helps out deciding if the patch makes it into the repo.

@Growlfy
Copy link
Author

Growlfy commented Oct 1, 2025

patch file is online :)

@Growlfy
Copy link
Author

Growlfy commented Oct 1, 2025

Just in case :
There's a problem in the Apron_Hit subroutine, which is called too early. I think ActiveBall.id is not properly defined when the function is called.

Here’s the debug : code line 3314

'Old Apron_Hit sub :
'Sub Apron_Hit (idx)
' If Abs(cor.ballvelx(ActiveBall.id) < 4) And cor.ballvely(ActiveBall.id) > 7 Then
' RandomSoundBottomArchBallGuideHardHit()
' Else
' RandomSoundBottomArchBallGuide
' End If
'End Sub
Sub Apron_Hit(idx)
If Not IsEmpty(ActiveBall) And Not ActiveBall Is Nothing Then
On Error Resume Next
Dim ballId
ballId = ActiveBall.id
If Err.Number = 0 Then ' Check access to ActiveBall.id
If Abs(cor.ballvelx(ballId) < 4) And cor.ballvely(ballId) > 7 Then
RandomSoundBottomArchBallGuideHardHit()
Else
RandomSoundBottomArchBallGuide
End If
End If
On Error Goto 0
End If
End Sub

@Growlfy
Copy link
Author

Growlfy commented Oct 8, 2025

Hi @jsm174,

Thanks for your feedback and for pointing out the missing patch file. I've added it as requested.

Regarding the Apron_Hit subroutine, I understand your point about focusing on known wine quirks. However, I believe this fix is necessary for the pinball’s proper functioning, as ActiveBall.id was causing issues.

Let me know if you think there's a better way to address it.

Best regards

Sub Apron_Hit (idx)
- If Abs(cor.ballvelx(ActiveBall.id) < 4) And cor.ballvely(ActiveBall.id) > 7 Then
+ If Not IsEmpty(ActiveBall) And Not ActiveBall Is Nothing Then
+ On Error Resume Next ' Ignorer les erreurs temporairement
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not possible to fix this without catching errors?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, indeed, I forgot to remove the lines of code that temporarily ignore errors — that was my test version.

Sub Apron_Hit(idx)
If Not IsEmpty(ActiveBall) And Not ActiveBall Is Nothing Then
Dim ballId
ballId = ActiveBall.id
If Err.Number = 0 Then ' Vérifier si l'accès à ActiveBall.id a réussi
If Abs(cor.ballvelx(ballId) < 4) And cor.ballvely(ballId) > 7 Then
RandomSoundBottomArchBallGuideHardHit()
Else
RandomSoundBottomArchBallGuide
End If
End If
End If
End Sub

@francisdb
Copy link
Contributor

Can you add a link to the table download in the PR description?

@Growlfy
Copy link
Author

Growlfy commented Oct 15, 2025

@francisdb The original table is the 2.2 version of this table : https://vpuniverse.com/files/file/15565-transformers-pro-stern-2011/

remove the lines of code that temporarily ignore errors
@francisdb
Copy link
Contributor

francisdb commented Oct 15, 2025

I guess we better create a patch for the 2.3.1 version if still required?

How do I reproduce the issue? The table runs fine on first sight.

@Growlfy
Copy link
Author

Growlfy commented Oct 15, 2025

@francisdb I’ve just tested the new version (2.3.1), and everything works fine without the patch. I recently upgraded to a more powerful computer, so it seems the patch is no longer necessary. I wonder if my old machine was simply too slow to create the ballId variable in time.

Thanks for taking my request into account. I think i can close it now :)

@Growlfy Growlfy closed this Oct 15, 2025
@Growlfy
Copy link
Author

Growlfy commented Oct 15, 2025

V2.3.1 seems to work properly without the patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants