diff --git a/M64MM2/AboutForm.Designer.vb b/M64MM2/AboutForm.Designer.vb
index 42f4991..b242972 100644
--- a/M64MM2/AboutForm.Designer.vb
+++ b/M64MM2/AboutForm.Designer.vb
@@ -40,7 +40,7 @@ Partial Class AboutForm
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(399, 26)
Me.Label1.TabIndex = 0
- Me.Label1.Text = "Mario 64 Movie Maker 2.0 beta 7"
+ Me.Label1.Text = "Mario 64 Movie Maker 2.0 beta 8"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.TopCenter
'
'Label2
@@ -65,14 +65,15 @@ Partial Class AboutForm
'
Me.Label4.Location = New System.Drawing.Point(12, 108)
Me.Label4.Name = "Label4"
- Me.Label4.Size = New System.Drawing.Size(402, 28)
+ Me.Label4.Size = New System.Drawing.Size(402, 42)
Me.Label4.TabIndex = 3
Me.Label4.Text = "Special thanks to Matthew ""MATTHEWGU4"" Guerra for helping me make this project a " & _
- "reality and for spreading the word!"
+ "reality and for spreading the word, and to GlitchyPSIX for his contributions to " & _
+ "the program."
'
'Label5
'
- Me.Label5.Location = New System.Drawing.Point(12, 143)
+ Me.Label5.Location = New System.Drawing.Point(12, 159)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(343, 13)
Me.Label5.TabIndex = 4
@@ -81,15 +82,16 @@ Partial Class AboutForm
'LinkLabel1
'
Me.LinkLabel1.AutoSize = True
- Me.LinkLabel1.Location = New System.Drawing.Point(12, 156)
+ Me.LinkLabel1.Location = New System.Drawing.Point(12, 172)
Me.LinkLabel1.Name = "LinkLabel1"
Me.LinkLabel1.Size = New System.Drawing.Size(143, 13)
Me.LinkLabel1.TabIndex = 6
+ Me.LinkLabel1.TabStop = True
Me.LinkLabel1.Text = "captainswag101@gmail.com"
'
'Button1
'
- Me.Button1.Location = New System.Drawing.Point(173, 201)
+ Me.Button1.Location = New System.Drawing.Point(175, 216)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(75, 23)
Me.Button1.TabIndex = 5
@@ -99,18 +101,18 @@ Partial Class AboutForm
'Label6
'
Me.Label6.AutoSize = True
- Me.Label6.Location = New System.Drawing.Point(12, 183)
+ Me.Label6.Location = New System.Drawing.Point(12, 195)
Me.Label6.Name = "Label6"
- Me.Label6.Size = New System.Drawing.Size(125, 13)
+ Me.Label6.Size = New System.Drawing.Size(128, 13)
Me.Label6.TabIndex = 7
- Me.Label6.Text = "Build date: May 20, 2015"
+ Me.Label6.Text = "Build date: June 19, 2015"
'
'AboutForm
'
Me.AcceptButton = Me.Button1
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(426, 236)
+ Me.ClientSize = New System.Drawing.Size(426, 251)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.LinkLabel1)
diff --git a/M64MM2/AboutForm.resx b/M64MM2/AboutForm.resx
index 43ec471..e24a20c 100644
--- a/M64MM2/AboutForm.resx
+++ b/M64MM2/AboutForm.resx
@@ -123,9 +123,15 @@
True
+
+ True
+
This program is dedicated to the Super Mario 64 Bloopers/Machinima community, thanks for all the effort you've put into your work, and I hope this tool will help you create awesome videos for years to come!
+
+ True
+
True
@@ -135,6 +141,9 @@
True
+
+ True
+
True
diff --git a/M64MM2/MainForm.Designer.vb b/M64MM2/MainForm.Designer.vb
index 050c4e7..d726104 100644
--- a/M64MM2/MainForm.Designer.vb
+++ b/M64MM2/MainForm.Designer.vb
@@ -33,8 +33,8 @@ Partial Class MainForm
Me.Label3 = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()
- Me.AboutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
- Me.AboutM64MovieMaker20ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AboutMenu = New System.Windows.Forms.ToolStripMenuItem()
+ Me.AboutMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.HelpToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.SettingsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.RetainAnimationSwapsMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -49,6 +49,7 @@ Partial Class MainForm
'
'b_Freeze
'
+ Me.b_Freeze.Enabled = False
Me.b_Freeze.Location = New System.Drawing.Point(12, 44)
Me.b_Freeze.Name = "b_Freeze"
Me.b_Freeze.Size = New System.Drawing.Size(147, 23)
@@ -58,6 +59,7 @@ Partial Class MainForm
'
'b_Unfreeze
'
+ Me.b_Unfreeze.Enabled = False
Me.b_Unfreeze.Location = New System.Drawing.Point(165, 44)
Me.b_Unfreeze.Name = "b_Unfreeze"
Me.b_Unfreeze.Size = New System.Drawing.Size(147, 23)
@@ -67,6 +69,7 @@ Partial Class MainForm
'
'b_ChangeCameraType
'
+ Me.b_ChangeCameraType.Enabled = False
Me.b_ChangeCameraType.Location = New System.Drawing.Point(318, 44)
Me.b_ChangeCameraType.Name = "b_ChangeCameraType"
Me.b_ChangeCameraType.Size = New System.Drawing.Size(145, 23)
@@ -116,26 +119,26 @@ Partial Class MainForm
'MenuStrip1
'
Me.MenuStrip1.BackColor = System.Drawing.SystemColors.MenuBar
- Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AboutToolStripMenuItem, Me.SettingsToolStripMenuItem})
+ Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AboutMenu, Me.SettingsToolStripMenuItem})
Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
Me.MenuStrip1.Name = "MenuStrip1"
Me.MenuStrip1.Size = New System.Drawing.Size(475, 24)
Me.MenuStrip1.TabIndex = 7
Me.MenuStrip1.Text = "MenuStrip1"
'
- 'AboutToolStripMenuItem
+ 'AboutMenu
'
- Me.AboutToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AboutM64MovieMaker20ToolStripMenuItem, Me.HelpToolStripMenuItem1})
- Me.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem"
- Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(52, 20)
- Me.AboutToolStripMenuItem.Text = "About"
+ Me.AboutMenu.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AboutMenuItem, Me.HelpToolStripMenuItem1})
+ Me.AboutMenu.Name = "AboutMenu"
+ Me.AboutMenu.Size = New System.Drawing.Size(52, 20)
+ Me.AboutMenu.Text = "About"
'
- 'AboutM64MovieMaker20ToolStripMenuItem
+ 'AboutMenuItem
'
- Me.AboutM64MovieMaker20ToolStripMenuItem.Name = "AboutM64MovieMaker20ToolStripMenuItem"
- Me.AboutM64MovieMaker20ToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.A), System.Windows.Forms.Keys)
- Me.AboutM64MovieMaker20ToolStripMenuItem.Size = New System.Drawing.Size(297, 22)
- Me.AboutM64MovieMaker20ToolStripMenuItem.Text = "About Mario 64 Movie Maker 2.0..."
+ Me.AboutMenuItem.Name = "AboutMenuItem"
+ Me.AboutMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.A), System.Windows.Forms.Keys)
+ Me.AboutMenuItem.Size = New System.Drawing.Size(297, 22)
+ Me.AboutMenuItem.Text = "About Mario 64 Movie Maker 2.0..."
'
'HelpToolStripMenuItem1
'
@@ -180,6 +183,7 @@ Partial Class MainForm
'ComboBox2
'
Me.ComboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.ComboBox2.Enabled = False
Me.ComboBox2.FormattingEnabled = True
Me.ComboBox2.Location = New System.Drawing.Point(12, 154)
Me.ComboBox2.Name = "ComboBox2"
@@ -198,6 +202,7 @@ Partial Class MainForm
'ComboBox1
'
Me.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+ Me.ComboBox1.Enabled = False
Me.ComboBox1.FormattingEnabled = True
Me.ComboBox1.Location = New System.Drawing.Point(12, 110)
Me.ComboBox1.Name = "ComboBox1"
@@ -252,8 +257,8 @@ Partial Class MainForm
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip
- Friend WithEvents AboutToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
- Friend WithEvents AboutM64MovieMaker20ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents AboutMenu As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents AboutMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents HelpToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents ComboBox2 As System.Windows.Forms.ComboBox
Friend WithEvents Label6 As System.Windows.Forms.Label
diff --git a/M64MM2/MainForm.vb b/M64MM2/MainForm.vb
index 2edd7a4..e2bd208 100644
--- a/M64MM2/MainForm.vb
+++ b/M64MM2/MainForm.vb
@@ -35,6 +35,14 @@ Public Class MainForm
' This call is required by the designer.
InitializeComponent()
+ AddHandler ComboBox1.SelectedValueChanged, AddressOf ComboBox1_SelectedValueChanged
+ AddHandler ComboBox2.SelectedValueChanged, AddressOf ComboBox2_SelectedValueChanged
+ AddHandler ResetAnimationSwapsMenuItem.Click, AddressOf ResetAnimations
+ AddHandler b_Freeze.Click, AddressOf Freeze
+ AddHandler b_Unfreeze.Click, AddressOf Unfreeze
+ AddHandler b_ChangeCameraType.Click, AddressOf ChangeCameraType
+ AddHandler AboutMenuItem.Click, AddressOf AboutForm.ShowDialog
+
Try
Using sr As New StreamReader("animation_data.txt")
Do While sr.Peek() >= 0
@@ -59,9 +67,6 @@ Public Class MainForm
ComboBox2.DataSource = New BindingSource(AnimData, Nothing)
ComboBox2.DisplayMember = "Value"
ComboBox2.ValueMember = "Key"
- AddHandler ComboBox1.SelectedValueChanged, AddressOf ComboBox1_SelectedValueChanged
- AddHandler ComboBox2.SelectedValueChanged, AddressOf ComboBox2_SelectedValueChanged
- AddHandler ResetAnimationSwapsMenuItem.Click, AddressOf ResetAnimations
ComboBox1.SelectedIndex = 0
ComboBox2.SelectedIndex = 0
LastCBox1Index = 0
@@ -74,9 +79,6 @@ Public Class MainForm
Else
EmuOpen = True
End If
-
- Timer1.Enabled = True
- Timer1.Interval = 1
End Sub
Public Function GetChunks(value As String, chunkSize As Integer) As List(Of String)
@@ -145,40 +147,33 @@ Public Class MainForm
End Sub
Private Sub Freeze()
- ChangeCamera = False
- WriteInteger("Project64", Base + &H33C848, &H80000000)
+ If EmuOpen = True And Base > 0 Then
+ ChangeCamera = False
+ WriteInteger("Project64", Base + &H33C848, &H80000000)
+ End If
End Sub
Private Sub Unfreeze()
- ChangeCamera = False
- CameraUnfrozen = True
- WriteInteger("Project64", Base + &H33C848, 0)
- End Sub
-
- Private Sub ChangeCameraType()
- ChangeCamera = Not ChangeCamera
- If ChangeCamera = True Then
- b_ChangeCameraType.Text = "Go to new area"
- Else
+ If EmuOpen = True And Base > 0 Then
+ ChangeCamera = False
+ CameraUnfrozen = True
b_ChangeCameraType.Text = "Change Camera Type"
+ WriteInteger("Project64", Base + &H33C848, 0)
End If
End Sub
- Private Sub b_Freeze_Click(sender As Object, e As EventArgs) Handles b_Freeze.Click
- If EmuOpen = True And Base > 0 Then Freeze()
- End Sub
-
- Private Sub b_Unfreeze_Click(sender As Object, e As EventArgs) Handles b_Unfreeze.Click
- If EmuOpen = True And Base > 0 Then Unfreeze()
- End Sub
-
- Private Sub b_ChangeCameraType_Click(sender As Object, e As EventArgs) Handles b_ChangeCameraType.Click
- If EmuOpen = True And Base > 0 Then ChangeCameraType()
+ Private Sub ChangeCameraType()
+ If EmuOpen = True And Base > 0 Then
+ ChangeCamera = Not ChangeCamera
+ If ChangeCamera = True Then
+ b_ChangeCameraType.Text = "Go to new area"
+ Else
+ Unfreeze()
+ End If
+ End If
End Sub
Private Sub TimerEventProcessor(myObject As Object, ByVal myEventArgs As EventArgs) Handles Timer1.Tick
- Timer1.Stop() ' Don't let the timer tick again until we're done processing the current tick (this precaution may be unnecessary)
-
' Main program update call
If GetEmuProcess("Project64") = Nothing Then
EmuOpen = False
@@ -191,14 +186,21 @@ Public Class MainForm
' Check if base address is still correct
If ReadInteger("Project64", Base) <> &H3C1A8032 Then ' If our old base is not valid, we need to start looking for a new one
Base = 0
- Timer1.Enabled = True ' Re-enable the timer so we can start to scan for a new base address
+ b_ChangeCameraType.Enabled = False
+ b_Freeze.Enabled = False
+ b_Unfreeze.Enabled = False
+ ComboBox1.Enabled = False
+ ComboBox2.Enabled = False
Exit Sub
End If
- If TestOnce = False Then
- ComboBox2.SelectedValue = CurrentAnimInRAM()
- TestOnce = True
- End If
+ b_ChangeCameraType.Enabled = True
+ b_Freeze.Enabled = True
+ b_Unfreeze.Enabled = True
+ ComboBox1.Enabled = True
+ ComboBox2.Enabled = True
+
+ WriteAnimationSwap()
' Handle key input (for hotkeys, etc.)
HandleInput()
@@ -210,13 +212,28 @@ Public Class MainForm
' If we are changing camera modes, repeatedly force the camera into frozen mode.
If ChangeCamera = True Then WriteInteger("Project64", Base + &H33C848, &H80000000)
Else
+ b_Freeze.Enabled = False
+ b_Unfreeze.Enabled = False
+ b_ChangeCameraType.Enabled = False
+ b_ChangeCameraType.Text = "Change Camera Type"
+ ComboBox1.Enabled = False
+ ComboBox2.Enabled = False
GetBase()
End If
Else
+ b_Freeze.Enabled = False
+ b_Unfreeze.Enabled = False
+ b_ChangeCameraType.Enabled = False
+ b_ChangeCameraType.Text = "Change Camera Type"
+ ComboBox1.Enabled = False
+ ComboBox2.Enabled = False
Label1.Text = "Project64 isn't open!"
End If
- Timer1.Enabled = True ' Re-enable the timer so this sub will continue to be called repeatedly
+ 'The way this timer was repeating before was technically 1 ms per tick, which uses too much CPU by scanning adresses EVERY 1 ms.
+ 'Using 100ms as the interval between each scan doesn't waste too much CPU in the Base Adress Scan, and it's just as effective.
+ 'Both Timer1 settings are set in the MainForm.Load() Event.
+ 'After every tick, the timer repeats itself.
End Sub
Private Sub HandleInput()
@@ -241,11 +258,6 @@ Public Class MainForm
End If
End Sub
- Private Sub AboutM64MovieMaker20ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AboutM64MovieMaker20ToolStripMenuItem.Click
- Dim AboutDialog As New AboutForm
- AboutDialog.ShowDialog()
- End Sub
-
Private Sub ComboBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As EventArgs)
If UndoPreviousAnimationSwapsMenuItem.Checked And EmuOpen = True And Base > 0 Then
For Each anim As Animation In AnimList
@@ -280,6 +292,11 @@ Public Class MainForm
RetainAnimationSwapsMenuItem.Checked = False
RetainAnimationSwapsMenuItem.CheckState = CheckState.Unchecked
End Sub
+
+ Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ Timer1.Interval = 100 'Make the timer tick every tenth of a second, to avoid unneccesary CPU use in some processors.
+ Timer1.Start()
+ End Sub
End Class
Public Class Animation