Go Back   The PokéCommunity Forums > Creative Discussions > Game Development > Scripts & Tutorials
Reload this Page [Engine] Pokemon C# Engine

Notices
For all updates, view the main page.

Scripts & Tutorials This forum is for scripts and code, as well as all kinds of tutorials, software, tools and so forth. Remember to give credit!
The thread revival limit does not apply here.



Reply
 
Thread Tools
  #76    
Old April 20th, 2013 (07:44 AM).
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by the__end:
It is Ok to discuss if the thread creator wants to right? It is his thread after all.



I did and you said you did the code yourself. But if the features ARE the same and the appearance is the same, asking for evidence that you made it is reasonable. Just saying that you made it from scratch proves nothing you know. The whole map editing features you claim you did yourself is already made by Pokemon Dawn. It is exactly the same. And it is not just the appearance! The features like entities and the amount of tiles you can have in your tileset are all copied. If you still claim "you have written everything in your project yourself" show us your code to prove it. Or are you afraid of anything?
Can you copy and paste entities in Dawn? Is there any logic tiles? Can you move your view freely? I've reprogrammed the map editor they have made and then started adding a few new stuff like the Move view tool and logic brush. I liked how they had trees and building part of the entities so I decided to bring it back as well. It's worth noting that they have their own UI rendering code aswell, while I used DevExpress instead because I suck at making nice UIs and I did not want it to be 100% exact.

The icons they are using are not theirs, they can be found everywhere on the web. I could of gotten new icons if I wanted but the one they chose work nice I find.
__________________
PokeSharp Engine
Reply With Quote
  #77    
Old April 20th, 2013 (08:02 AM).
the__end's Avatar
the__end the__end is offline
Pixel Artist
 
Join Date: Apr 2010
Gender: Male
Posts: 141
Quote originally posted by oxysoft:
Can you copy and paste entities in Dawn? Is there any logic tiles? Can you move your view freely? I've reprogrammed the map editor they have made and then started adding a few new stuff like the Move view tool and logic brush. I liked how they had trees and building part of the entities so I decided to bring it back as well. It's worth noting that they have their own UI rendering code aswell, while I used DevExpress instead because I suck at making nice UIs and I did not want it to be 100% exact.
Just because you changed a few things doesn't mean you have done everything yourself. It is obvious that you took the Dawn Engine, added a few changes and tried to claim the whole thing as your own. I don't like to repeat myself but how about showing evidence that you made it yourself? We have the source code of Pokemon Dawn so comparing with yours is not hard. Of course if you are not afraid...

Quote originally posted by oxysoft:
The icons they are using are not theirs, they can be found everywhere on the web. I could of gotten new icons if I wanted but the one they chose work nice I find.
It is actually funny how you try to satisfy your theft with the availability of the icons. The icons are not the problem but the code you stole. If not prove the opposite.
__________________
Reply With Quote
  #78    
Old April 20th, 2013 (08:13 AM).
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by the__end:
Just because you changed a few things doesn't mean you have done everything yourself. It is obvious that you took the Dawn Engine, added a few changes and tried to claim the whole thing as your own. I don't like to repeat myself but how about showing evidence that you made anything yourself? We have the source code of Pokemon Dawn so comparing with yours is not hard. Of course if you are not afraid...


It is actually funny how you try to satisfy your theft with the availability of the icons. The icons are not the problem but the code you stole. If not prove the opposite.
I'm not sure about showing the whole source code until it's actually released. Would you like to see some parts of the code?

I was mentioning the icons because some people thought they might be private and made only for dawn

edit:

PencilTool.cs for your own amusement
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using AeonEditor.States;
using General.Common;
using AeonEditor.Actions.Tile;
using AeonEditor.Actions;
using Engine.Tiles;
using Engine.Common;

namespace 
AeonEditor.EngineDefinition.States.TileEditor {
    public class 
PencilTool StateIState {
        private 
MultiAction action;

        public static 
PencilTool Instance {
            
get {
                return Static<
PencilTool>.Value;
            }
        }

        public 
override void Initialize(FrmMainEditor mainForm) {
            
base.Initialize(mainForm);
        }

        public 
string Name {
            
get {
                return 
"PencilState";
            }
        }

        public 
void Enter(IFiniteStateMachine stateMachineIState oldState) {
            
EditorForm.tPencil.Checked true;

            
EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);
        }

        public 
void Leave(IFiniteStateMachine stateMachineIState newState) {
            
EditorForm.tPencil.Checked false;

            
EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);
        }

        public 
void Draw(GameTime gameTime) {
        }

        public 
void Update(GameTime gameTime) {
        }

        
int lxt = -1;
        
int lyt = -1;

        private 
void onMouseMove(object senderMouseEventArgs e) {
            if (
e.Button == MouseButtons.Left) {
                if (
action == nullaction = new MultipleSetTileAction();

                
bool ok false;

                
int xt = (e.EditorEngine.Instance.xCam) >> 4;
                
int yt = (e.EditorEngine.Instance.yCam) >> 4;

                if (
xt != lxt || lyt != yt) {
                    
ok true;
                }

                
lxt xt;
                
lyt yt;

                if (
ok) {
                    if (
TileEditorState.Instance.SelectedRegion != Rectangle.Empty) {
                        
MultiAction multiAction = new MultiAction();
                        
Rectangle selection TileEditorState.Instance.SelectedRegion;

                        for (
int x 0selection.Widthx++) {
                            for (
int y 0selection.Heighty++) {
                                
int currentX selection.x;
                                
int currentY selection.y;

                                
int tilesetIndex TileEditorState.Instance.SelectedTileset;

                                
Tilesheet tilesheet EditorEngine.Instance.CurrentMap.Tilesets[tilesetIndex].Tileset;
                                
int tileIndex tilesheet.t2d.GetIndex(currentXcurrentY);

                                
int zt EditorEngine.Instance.SelectedLayer;
                                
MockupTile t EditorEngine.Instance.CurrentMap.getTile(xt xyt yzt);

                                if (
!= null) {
                                    
SetTileAction tileAction = new SetTileAction(
                                        
xt xyt y,
                                        
tilesetIndex,
                                        
tileIndex,
                                        
t.spritesheetindex,
                                        
t.spriteindex);
                                    
multiAction.actions.Add(tileAction);
                                }
                            }
                        }

                        
multiAction.Execute();
                        
action.actions.Add(multiAction);
                    }
                }
            }
        }

        private 
void onMouseUp(object senderMouseEventArgs e) {
            if (
e.Button == MouseButtons.Left) {
                
ActionManager.Instance.Execute(action);
                
action null;
            }
        }
    }

don't complain about me extending the same classes and interfaces, that's how a finitestatemachine works
__________________
PokeSharp Engine
Reply With Quote
  #79    
Old April 20th, 2013 (08:20 AM).
the__end's Avatar
the__end the__end is offline
Pixel Artist
 
Join Date: Apr 2010
Gender: Male
Posts: 141
Quote originally posted by oxysoft:
I'm not sure about showing the whole source code until it's actually released. Would you like to see some parts of the code?
Why? There is nothing you need to worry about. If you are innocent people can actually help you with better advise after seeing the code.
__________________
Reply With Quote
  #80    
Old April 20th, 2013 (08:37 AM). Edited April 20th, 2013 by Maruno.
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by the__end:
Why? There is nothing you need to worry about. If you are innocent people can actually help you with better advise after seeing the code.
I actually have no plans to release the source code at this point, in case I make some features available only for pro users. If you still want to believe I can't program and I stole all of their code, then do so. I know I can program and people will have a blast making their own adventure when all is done. It's also funny how you were crying to me over PM wanting me to be part of your pokemon essentials forum and now you can't even trust me. You saw the .gif extractor utility I wrote last week, you know I can program.

Work on something non-stop for about a month then have ppl complain that you stole everything and tell me how you feel.
__________________
PokeSharp Engine
Reply With Quote
  #81    
Old April 20th, 2013 (08:52 AM). Edited April 20th, 2013 by the__end.
the__end's Avatar
the__end the__end is offline
Pixel Artist
 
Join Date: Apr 2010
Gender: Male
Posts: 141
Quote originally posted by oxysoft:
PencilTool.cs for your own amusement
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using AeonEditor.States;
using General.Common;
using AeonEditor.Actions.Tile;
using AeonEditor.Actions;
using Engine.Tiles;
using Engine.Common;

namespace 
AeonEditor.EngineDefinition.States.TileEditor {
    public class 
PencilTool StateIState {
        private 
MultiAction action;

        public static 
PencilTool Instance {
            
get {
                return Static<
PencilTool>.Value;
            }
        }

        public 
override void Initialize(FrmMainEditor mainForm) {
            
base.Initialize(mainForm);
        }

        public 
string Name {
            
get {
                return 
"PencilState";
            }
        }

        public 
void Enter(IFiniteStateMachine stateMachineIState oldState) {
            
EditorForm.tPencil.Checked true;

            
EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);
        }

        public 
void Leave(IFiniteStateMachine stateMachineIState newState) {
            
EditorForm.tPencil.Checked false;

            
EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);
        }

        public 
void Draw(GameTime gameTime) {
        }

        public 
void Update(GameTime gameTime) {
        }

        
int lxt = -1;
        
int lyt = -1;

        private 
void onMouseMove(object senderMouseEventArgs e) {
            if (
e.Button == MouseButtons.Left) {
                if (
action == nullaction = new MultipleSetTileAction();

                
bool ok false;

                
int xt = (e.EditorEngine.Instance.xCam) >> 4;
                
int yt = (e.EditorEngine.Instance.yCam) >> 4;

                if (
xt != lxt || lyt != yt) {
                    
ok true;
                }

                
lxt xt;
                
lyt yt;

                if (
ok) {
                    if (
TileEditorState.Instance.SelectedRegion != Rectangle.Empty) {
                        
MultiAction multiAction = new MultiAction();
                        
Rectangle selection TileEditorState.Instance.SelectedRegion;

                        for (
int x 0selection.Widthx++) {
                            for (
int y 0selection.Heighty++) {
                                
int currentX selection.x;
                                
int currentY selection.y;

                                
int tilesetIndex TileEditorState.Instance.SelectedTileset;

                                
Tilesheet tilesheet EditorEngine.Instance.CurrentMap.Tilesets[tilesetIndex].Tileset;
                                
int tileIndex tilesheet.t2d.GetIndex(currentXcurrentY);

                                
int zt EditorEngine.Instance.SelectedLayer;
                                
MockupTile t EditorEngine.Instance.CurrentMap.getTile(xt xyt yzt);

                                if (
!= null) {
                                    
SetTileAction tileAction = new SetTileAction(
                                        
xt xyt y,
                                        
tilesetIndex,
                                        
tileIndex,
                                        
t.spritesheetindex,
                                        
t.spriteindex);
                                    
multiAction.actions.Add(tileAction);
                                }
                            }
                        }

                        
multiAction.Execute();
                        
action.actions.Add(multiAction);
                    }
                }
            }
        }

        private 
void onMouseUp(object senderMouseEventArgs e) {
            if (
e.Button == MouseButtons.Left) {
                
ActionManager.Instance.Execute(action);
                
action null;
            }
        }
    }

^This is almost the same as the code in Pokemon Dawn:
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Dawn.Engine;
using Dawn.Engine.World.TileEngine;
using Dawn.MapEditor.Core;
using Dawn.MapEditor.Core.States;
using Dawn.MapEditor.Core.Actions;
using Dawn.MapEditor.Core.Actions.TileEditor;
using Dawn.MapEditor.Forms;

namespace 
Dawn.MapEditor.States.TileEditor
{
    public class 
PencilTool StateIState
    
{
        
#region Fields
        
private MultipleAction action;
        
#endregion

        #region Properties
        
public static PencilTool Instance
        
{
            
get { return Static<PencilTool>.Value; }
        }
        
#endregion

        #region Methods
        
public override void Initialize(frmMain mainForm)
        {
            
base.Initialize(mainForm);
        }
        
#endregion

        #region IState Member
        
public string Name
        
{
            
get { return "PencilState"; }
        }
        public 
void Enter(IFiniteStateMachine stateMachineIState oldState)
        {
            
this.MainForm.tPencil.Checked true;

            
this.MainForm.editor.MouseDown += new MouseEventHandler(onMouseMove);
            
this.MainForm.editor.MouseMove += new MouseEventHandler(onMouseMove);
            
this.MainForm.editor.MouseUp += new MouseEventHandler(onMouseUp);
        }
        public 
void Leave(IFiniteStateMachine stateMachineIState newState)
        {
            
this.MainForm.tPencil.Checked false;

            
this.MainForm.editor.MouseDown -= new MouseEventHandler(onMouseMove);
            
this.MainForm.editor.MouseMove -= new MouseEventHandler(onMouseMove);
            
this.MainForm.editor.MouseUp -= new MouseEventHandler(onMouseUp);
        }
        public 
void Draw(GameTime gameTime)
        {
        }
        public 
void Update(GameTime gameTime)
        {
        }
        
#endregion

        #region Event Handler
        
private void onMouseMove(object senderMouseEventArgs e)
        {
            if (
e.Button == MouseButtons.Left)
            {
                if (
this.action == null)
                {
                    
this.action = new MultipleSetTileAction();
                }

                
int tileX = (e.EditorEngine.Instance.HorizontalScrolling.Value) / Tile.Width;
                
int tileY = (e.EditorEngine.Instance.VerticalScrolling.Value) / Tile.Height;

                if (
TileEditorState.Instance.SelectedRegion != Rectangle.Empty)
                {
                    
MultipleAction multiAction = new MultipleAction();
                    
Rectangle selection TileEditorState.Instance.SelectedRegion;

                    for (
int x 0selection.Widthx++)
                    {
                        for (
int y 0selection.Heighty++)
                        {
                            
int currentX selection.x;
                            
int currentY selection.y;

                            
int tilesetIndex TileEditorState.Instance.SelectedTileset;

                            
Tileset tileset EditorEngine.Instance.Map.Tilesets[tilesetIndex].Tileset;
                            
int tileIndex tileset.TileableTexture.GetIndex(currentXcurrentY);
                                
                            
SetTileAction tileAction = new SetTileAction(
                                
tileX xtileY y,
                                
TileEditorState.Instance.SelectedLayer,
                                
tilesetIndex,
                                
tileIndex);

                            
multiAction.Actions.Add(tileAction);
                        }
                    }
                    
multiAction.Execute();

                    
this.action.Actions.Add(multiAction);
                }
            }
        }
        private 
void onMouseUp(object senderMouseEventArgs e)
        {
            if (
e.Button == MouseButtons.Left)
            {
                
ActionManager.Instance.Push(this.action);
                
this.action null;
            }
            if (
e.Button == MouseButtons.Right)
            {
                
int tileX e.Tile.Width;
                
int tileY e.Tile.Height;
                
int tileZ TileEditorState.Instance.SelectedLayer;

                
TileReference reference EditorEngine.Instance.Map.Tiles[tileXtileYtileZ];

                
Rectangle sourceRectangle reference.Tileset.TileableTexture.GetSource(reference.TileIndex);

                
TileEditorState.Instance.SelectedTileset reference.TilesetIndex;
                
TileEditorState.Instance.SelectedRegion = new Rectangle(
                    
sourceRectangle.Tile.Width,
                    
sourceRectangle.Tile.Height,
                    
11);
            }
        }
        
#endregion
    
}

Did you really thought your little changes make it yours? Your changes did actually changed nothing in the code itself. It is just simple renaming.
And this proves that you really just edited the source code of Dawn and didn't have done it from "scratch" like you claim.

Quote originally posted by oxysoft:
I actually have no plans to release the source code at this point, in case I make some features available only for pro users.
Oh yeah I almost forgot that you plan to collect donations for the work of someone else. Actually it is more like selling because only donators will be able to get "full version". And you don't release the source code because it is stolen. That is so pathetic.

Quote originally posted by oxysoft:
It's also funny how you were crying to me over PM wanting me to be part of your pokemon essentials forum and now you can't even trust me. You saw the .gif extractor utility I wrote last week, you know I can program.
Well i wanted to support you and now it looks like you fooled everyone including me. Besides that you refuse to prove the opposite. How should anyone believe you with the evidences against you? And the .gif extractor is most likely another open source project that you claimed as your own.
__________________
Reply With Quote
  #82    
Old April 20th, 2013 (09:12 AM). Edited April 20th, 2013 by oxysoft.
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by the__end:
^This is almost the same as the code in Pokemon Dawn:
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Dawn.Engine;
using Dawn.Engine.World.TileEngine;
using Dawn.MapEditor.Core;
using Dawn.MapEditor.Core.States;
using Dawn.MapEditor.Core.Actions;
using Dawn.MapEditor.Core.Actions.TileEditor;
using Dawn.MapEditor.Forms;

namespace 
Dawn.MapEditor.States.TileEditor
{
    public class 
PencilTool StateIState
    
{
        
#region Fields
        
private MultipleAction action;
        
#endregion

        #region Properties
        
public static PencilTool Instance
        
{
            
get { return Static<PencilTool>.Value; }
        }
        
#endregion

        #region Methods
        
public override void Initialize(frmMain mainForm)
        {
            
base.Initialize(mainForm);
        }
        
#endregion

        #region IState Member
        
public string Name
        
{
            
get { return "PencilState"; }
        }
        public 
void Enter(IFiniteStateMachine stateMachineIState oldState)
        {
            
this.MainForm.tPencil.Checked true;

            
this.MainForm.editor.MouseDown += new MouseEventHandler(onMouseMove);
            
this.MainForm.editor.MouseMove += new MouseEventHandler(onMouseMove);
            
this.MainForm.editor.MouseUp += new MouseEventHandler(onMouseUp);
        }
        public 
void Leave(IFiniteStateMachine stateMachineIState newState)
        {
            
this.MainForm.tPencil.Checked false;

            
this.MainForm.editor.MouseDown -= new MouseEventHandler(onMouseMove);
            
this.MainForm.editor.MouseMove -= new MouseEventHandler(onMouseMove);
            
this.MainForm.editor.MouseUp -= new MouseEventHandler(onMouseUp);
        }
        public 
void Draw(GameTime gameTime)
        {
        }
        public 
void Update(GameTime gameTime)
        {
        }
        
#endregion

        #region Event Handler
        
private void onMouseMove(object senderMouseEventArgs e)
        {
            if (
e.Button == MouseButtons.Left)
            {
                if (
this.action == null)
                {
                    
this.action = new MultipleSetTileAction();
                }

                
int tileX = (e.EditorEngine.Instance.HorizontalScrolling.Value) / Tile.Width;
                
int tileY = (e.EditorEngine.Instance.VerticalScrolling.Value) / Tile.Height;

                if (
TileEditorState.Instance.SelectedRegion != Rectangle.Empty)
                {
                    
MultipleAction multiAction = new MultipleAction();
                    
Rectangle selection TileEditorState.Instance.SelectedRegion;

                    for (
int x 0selection.Widthx++)
                    {
                        for (
int y 0selection.Heighty++)
                        {
                            
int currentX selection.x;
                            
int currentY selection.y;

                            
int tilesetIndex TileEditorState.Instance.SelectedTileset;

                            
Tileset tileset EditorEngine.Instance.Map.Tilesets[tilesetIndex].Tileset;
                            
int tileIndex tileset.TileableTexture.GetIndex(currentXcurrentY);
                                
                            
SetTileAction tileAction = new SetTileAction(
                                
tileX xtileY y,
                                
TileEditorState.Instance.SelectedLayer,
                                
tilesetIndex,
                                
tileIndex);

                            
multiAction.Actions.Add(tileAction);
                        }
                    }
                    
multiAction.Execute();

                    
this.action.Actions.Add(multiAction);
                }
            }
        }
        private 
void onMouseUp(object senderMouseEventArgs e)
        {
            if (
e.Button == MouseButtons.Left)
            {
                
ActionManager.Instance.Push(this.action);
                
this.action null;
            }
            if (
e.Button == MouseButtons.Right)
            {
                
int tileX e.Tile.Width;
                
int tileY e.Tile.Height;
                
int tileZ TileEditorState.Instance.SelectedLayer;

                
TileReference reference EditorEngine.Instance.Map.Tiles[tileXtileYtileZ];

                
Rectangle sourceRectangle reference.Tileset.TileableTexture.GetSource(reference.TileIndex);

                
TileEditorState.Instance.SelectedTileset reference.TilesetIndex;
                
TileEditorState.Instance.SelectedRegion = new Rectangle(
                    
sourceRectangle.Tile.Width,
                    
sourceRectangle.Tile.Height,
                    
11);
            }
        }
        
#endregion
    
}

Did you really thought your little changes make it yours? Your changes did actually changed nothing in the code itself. It is just simple renaming.
And this proves that you really just edited the source code of Dawn and didn't have done it from "scratch" like you claim.


Oh yeah I almost forgot that you plan to collect donations for the work of someone else. Actually it is more like selling because only donators will be able to get "full version". And you don't release the source code because it is stolen. That is so pathetic.


Well i wanted to support you and now it looks like you fooled everyone including me. Besides that you refuse to prove the opposite. How should anyone believe you with the evidences against you? And the .gif extractor is most likely another open source project that you claimed as your own.
I don't see this nowhere in pokemon dawn


nor any copy pasting capability

In the pencil tool code which you claim looks exactly the same, perhaps it's because both operate on a FiniteStateMachine design pattern. It would be stupid not to use it. The finite state machine (class which implements IFiniteStateMachine) is the class that holds the current state. Whenever this class changes state, the old state's Leave method is called and Enter is called in the new state. The event hooks are for capturing mouse movements and actions. I did mention I reused some utilities from Dawn; The Static class was one of them. I really liked how they managed Singleton calls using that class. The name property, I added it just in-case for future undo-redo list.

I'm done arguing with you, there is no point when you're that moronic and stuck up

Just for kick, LogicPathTool.cs

PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AeonEditor.Actions;
using AeonEditor.Actions.Tile.Logic;
using AeonEditor.Forms.Form_Selectors;
using AeonEditor.States;
using DevExpress.XtraBars;
using Editor.Selections;
using General.Common;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace 
AeonEditor.EngineDefinition.States.TileEditor.Logic {
    public class 
LogicPathTool StateIState {

        
int size 3;

        public static 
LogicPathTool Instance {
            
get {
                return Static<
LogicPathTool>.Value;
            }
        }

        public 
string Name {
            
get {
                return 
"Logic Path";
            }
        }

        public 
void Enter(IFiniteStateMachine stateMachineIState oldState) {
            
FrmLogicTileSelector.Instance.barCheckItem4.Checked true;
            
FrmLogicTileSelector.Instance.l_size.Visibility BarItemVisibility.Always;
            
FrmLogicTileSelector.Instance.b_minus.Visibility BarItemVisibility.Always;
            
FrmLogicTileSelector.Instance.d_size.Visibility BarItemVisibility.Always;
            
FrmLogicTileSelector.Instance.b_plus.Visibility BarItemVisibility.Always;
            
FrmLogicTileSelector.Instance.d_tools.Caption "Tool: Path";

            
EditorForm.editorcontrol.MouseDown += new MouseEventHandler(onMouseDown);
            
EditorForm.editorcontrol.MouseMove += new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseUp += new MouseEventHandler(onMouseUp);

            
FrmLogicTileSelector.Instance.d_size.EditValue "" size;
        }

        public 
void Leave(IFiniteStateMachine stateMachineIState newState) {
            
FrmLogicTileSelector.Instance.barCheckItem4.Checked false;
            
FrmLogicTileSelector.Instance.l_size.Visibility BarItemVisibility.Never;
            
FrmLogicTileSelector.Instance.b_minus.Visibility BarItemVisibility.Never;
            
FrmLogicTileSelector.Instance.d_size.Visibility BarItemVisibility.Never;
            
FrmLogicTileSelector.Instance.b_plus.Visibility BarItemVisibility.Never;

            
EditorForm.editorcontrol.MouseDown -= new MouseEventHandler(onMouseDown);
            
EditorForm.editorcontrol.MouseMove -= new MouseEventHandler(onMouseMove);
            
EditorForm.editorcontrol.MouseUp -= new MouseEventHandler(onMouseUp);

            
size Int32.Parse((string)FrmLogicTileSelector.Instance.d_size.EditValue);
        }

        private 
void onMouseDown(object senderMouseEventArgs e) {
            if (
e.Button == MouseButtons.Left) {
                
xt = (e.EditorEngine.Instance.xCam) >> 4;
                
yt = (e.EditorEngine.Instance.yCam) >> 4;
            }
        }

        
int xt = -1yt = -1;
        List<
LogicPathSquarepath = new List<LogicPathSquare>();
        List<
Vector2points = new List<Vector2>();

        private 
void onMouseMove(object senderMouseEventArgs e) {
            if (
e.Button == MouseButtons.Left) {
                
int rxt = (e.EditorEngine.Instance.xCam) >> 4;
                
int ryt = (e.EditorEngine.Instance.yCam) >> 4;

                if (
rxt != xt) {
                    
int dir 0;
                    if (
rxt xt == -1dir 2;
                    if (
rxt xt == 1dir 3;
                    if (!
points.Contains(new Vector2(rxtryt)))
                        
path.Add(new LogicPathSquare(rxtrytdir));
                } else if (
ryt != yt) {
                    
int dir 0;
                    if (
ryt yt == -1dir 0;
                    if (
ryt yt == 1dir 1;
                    if (!
points.Contains(new Vector2(rxtryt)))
                        
path.Add(new LogicPathSquare(rxtrytdir));
                }

                
xt rxt;
                
yt ryt;
            }
        }

        private 
void onMouseUp(object senderMouseEventArgs e) {
            if (
e.Button == MouseButtons.Left) {
                
int l_index FrmLogicTileSelector.Instance.logicViewerSelectorControl1.SelectedLogicIndex;
                for (
int i 0path.Counti++) {
                    
LogicPathSquare sq path[i];
                    
LogicPathSquare sqm1 null;
                    if (
!= 0sqm1 path[1];
                    if (
sqm1 != null) {
                        if ((
sq.dir == || sq.dir == 1) && (sqm1.dir != || sqm1.dir != 1) || (sq.dir == || sq.dir == 3) && (sqm1.dir != || sqm1.dir != 3)) {
                            
path.Insert(i, new LogicPathSquare((sqm1.dir == sqm1.sqm1.dir == sqm1.sqm1.x), (sqm1.dir == sqm1.sqm1.dir == sqm1.sqm1.y), sqm1.dir));
                            
i++;
                        }
                    }
                }

                
int _size Int32.Parse((string)FrmLogicTileSelector.Instance.d_size.EditValue);

                
LogicPathAction act = new LogicPathAction(pathl_index_size);
                
ActionManager.Instance.Execute(act);
                
path.Clear();
            }
        }

        public 
void Draw(Microsoft.Xna.Framework.GameTime gameTime) {
            
SpriteBatch batch EditorEngine.Instance.Region.viewdata.SpriteBatch;
            if (
batch != null) {
                foreach (
LogicPathSquare sq in path) {
                    
SelectionUtil.DrawRectangle(batchColor.Black .8f,
                        new 
Rectangle(sq.16 EditorEngine.Instance.xCamsq.16 EditorEngine.Instance.yCam1616));

                    
SelectionUtil.DrawRectangle(batchColor.LimeGreen .7f,
                        new 
Rectangle(sq.16 EditorEngine.Instance.xCamsq.16 EditorEngine.Instance.yCam1616));
                }
            }
        }

        public 
void Update(Microsoft.Xna.Framework.GameTime gameTime) {
        }
    }

__________________
PokeSharp Engine
Reply With Quote
  #83    
Old April 20th, 2013 (09:21 AM).
the__end's Avatar
the__end the__end is offline
Pixel Artist
 
Join Date: Apr 2010
Gender: Male
Posts: 141
Quote originally posted by oxysoft:
I don't see this nowhere in pokemon dawn


nor any copy pasting capability
And? Like i said you added some changes to the ORIGINAL Pokemon Dawn. You didn't made everything from scratch like you claimed. That makes you a liar and a thief. That is all i wanted to prove. :D
__________________
Reply With Quote
  #84    
Old April 20th, 2013 (09:28 AM).
andytu's Avatar
andytu andytu is offline
Ditto engine developer
 
Join Date: Jan 2011
Gender: Male
Posts: 27
I understand why you say you're not gonna release the source (and by the way I have no doubts this is your work...) but can I please beg that you do when you release the final version? The level of closed source on PC is ridiculous, and also if you don't then you're preventing developers from adding unique features to their games (unless you go for a plugin system which IMO is wayyyy too much effort).

And, seriously, I hope people let this rest now. Before you create a project on this scale of course you're gonna study every attempt you can find the source from before you dive in and make a ton of mistakes... That's one of the best things about open source code

Oh, and if you need new tiles I suggest using Kyledove's, they're awesome and many are public. WesleyFG also has some great public tiles.
__________________
Check out the Ditto Engine!
Reply With Quote
  #85    
Old April 20th, 2013 (09:39 AM).
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by andytu:
I understand why you say you're not gonna release the source (and by the way I have no doubts this is your work...) but can I please beg that you do when you release the final version? The level of closed source on PC is ridiculous, and also if you don't then you're preventing developers from adding unique features to their games (unless you go for a plugin system which IMO is wayyyy too much effort).

And, seriously, I hope people let this rest now. Before you create a project on this scale of course you're gonna study every attempt you can find the source from before you dive in and make a ton of mistakes... That's one of the best things about open source code

Oh, and if you need new tiles I suggest using Kyledove's, they're awesome and many are public. WesleyFG also has some great public tiles.
I was indeed planning on adding a plugin system, it's not that hard depending on how many hooks I want, sorta like RPG Maker.

I'm actually not a fan of KyleDove's tiles. They don't have that feel that the real tiles have in Pokemon games.
__________________
PokeSharp Engine
Reply With Quote
  #86    
Old April 20th, 2013 (10:36 AM).
Rayquaza.'s Avatar
Rayquaza. Rayquaza. is offline
Lead Dev in Pokémon Chaos
 
Join Date: Sep 2011
Location: United Kingdom
Age: 18
Gender: Male
Nature: Adamant
Posts: 598
Quote originally posted by oxysoft:
I was indeed planning on adding a plugin system, it's not that hard depending on how many hooks I want, sorta like RPG Maker.

I'm actually not a fan of KyleDove's tiles. They don't have that feel that the real tiles have in Pokemon games.
Just use 'some tiles'. It doesn't matter what you use, because others will import their own tilesets once this is released.

I don't doubt your abilities seeming as it is a gift that not many of us are blessed with on this community, I think that we should all just stop attacking each other.
Although I think it's okay to take things and improve it (even if you didn't copy anything) because if it's an open source then by all means improve it (with credits to the original creator).

I hope this pulls through.
__________________
Reply With Quote
  #87    
Old April 20th, 2013 (11:00 AM).
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by Rayquaza.:
Just use 'some tiles'. It doesn't matter what you use, because others will import their own tilesets once this is released.

I don't doubt your abilities seeming as it is a gift that not many of us are blessed with on this community, I think that we should all just stop attacking each other.
Although I think it's okay to take things and improve it (even if you didn't copy anything) because if it's an open source then by all means improve it (with credits to the original creator).

I hope this pulls through.
I'm hoping to have some tiles and entities ready for those who do not want their own. I'm thinking probably HGSS tiles, I think they look quite nice.
__________________
PokeSharp Engine
Reply With Quote
  #88    
Old April 20th, 2013 (11:23 AM).
Rayquaza.'s Avatar
Rayquaza. Rayquaza. is offline
Lead Dev in Pokémon Chaos
 
Join Date: Sep 2011
Location: United Kingdom
Age: 18
Gender: Male
Nature: Adamant
Posts: 598
Variety is good, as long as credit is given to the owners of the tiles. Although I would use BW tiles (Just my opinion).
__________________
Reply With Quote
  #89    
Old April 20th, 2013 (11:48 AM).
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Does anyone know where I could find a good amount of HGSS tiles? I found some but it's lacking a bunch
__________________
PokeSharp Engine
Reply With Quote
  #90    
Old April 21st, 2013 (03:17 PM).
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Updated the UI a bit to look more like AdvancedMap, the 3 other tabs have nothing in them yet

Spoiler:


__________________
PokeSharp Engine
Reply With Quote
  #91    
Old April 21st, 2013 (03:33 PM).
KingCharizard's Avatar
KingCharizard KingCharizard is offline
C++ Developer Extraordinaire
 
Join Date: Dec 2009
Location: Pennsylvania
Age: 26
Gender: Male
Nature: Bold
Posts: 1,245
Quote originally posted by oxysoft:
Updated the UI a bit to look more like AdvancedMap, the 3 other tabs have nothing in them yet

Spoiler:


Interesting...

To add events, you could use a grid system like RMXP, a multidimensional array grid. as for setting and what not, I'm not entirely sure how you would implement that yet as I dont know your development process.

keep at it. I'm hoping you get pretty far in development.
__________________
My personal website. UPDATED 8/29/2013
Reply With Quote
  #92    
Old April 21st, 2013 (04:34 PM). Edited April 21st, 2013 by oxysoft.
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by KingCharizard:
Interesting...

To add events, you could use a grid system like RMXP, a multidimensional array grid. as for setting and what not, I'm not entirely sure how you would implement that yet as I dont know your development process.

keep at it. I'm hoping you get pretty far in development.
I already have an idea how I want events to be. I'm still debating whether or not I will have events like in RPG Maker (moreover, i'm not sure how I would program it...) or if i'll have them as LUA script. LUA is not hard to use.

If anyone has an idea how to programmatically design events like they have them in RPG Maker, feel free to PM me. I'm fairly sure there is a nice deal of abstraction involved behind.

edit:

Updated a couple of icons





looks really nice like that
__________________
PokeSharp Engine
Reply With Quote
  #93    
Old April 22nd, 2013 (07:28 AM).
Maruno's Avatar
Maruno Maruno is offline
Lead Dev of Pokémon Essentials
Moderator
 
Join Date: Jan 2008
Location: England
Posts: 4,012
I strongly recommend an eventing system like RMXP uses. Each event command is given a number, which runs a particular method (e.g. command_101 is the "Show Text" method). Each command can have a number of parameters (e.g. the only parameter for "Show Text" is a string containing the text itself).

Event commands are basically shortcuts for things you'd commonly want an event to do (speak, move around, make choices, etc.). They're more user-friendly than using LUA to do everything, and you can easily have a LUA event command as well.

Events themselves are a collection of variables, which contain things such as the event's name, graphic, trigger setting and so on, as well as the aforementioned list of event commands. I can't imagine it'd be that difficult to come up with an Event object class to store the required information. For starters, mimicking RMXP would be a good idea, although later on they could definitely be improved to increase flexibility and better suit Pokémon games.

In general, I do think RMXP is a good program to use in terms of how it arranges itself, and you'd do well to base your program on it (e.g. how events work, having a Database for defining things, etc.).
__________________
Reply With Quote
  #94    
Old April 22nd, 2013 (11:40 AM).
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by Maruno:
I strongly recommend an eventing system like RMXP uses. Each event command is given a number, which runs a particular method (e.g. command_101 is the "Show Text" method). Each command can have a number of parameters (e.g. the only parameter for "Show Text" is a string containing the text itself).

Event commands are basically shortcuts for things you'd commonly want an event to do (speak, move around, make choices, etc.). They're more user-friendly than using LUA to do everything, and you can easily have a LUA event command as well.

Events themselves are a collection of variables, which contain things such as the event's name, graphic, trigger setting and so on, as well as the aforementioned list of event commands. I can't imagine it'd be that difficult to come up with an Event object class to store the required information. For starters, mimicking RMXP would be a good idea, although later on they could definitely be improved to increase flexibility and better suit Pokémon games.

In general, I do think RMXP is a good program to use in terms of how it arranges itself, and you'd do well to base your program on it (e.g. how events work, having a Database for defining things, etc.).
The thing is, I've already tried to implement something like those events for logic tiles.








It worked well for a while until I started thinking of more features, it pretty much went downhill from there and I switched to a simple LUA interpreter. Perhaps LUA was more suited for this situation.
I may have an idea how to implement RPG maker-like events but I won't promise anything, or at least not for initial release.
__________________
PokeSharp Engine
Reply With Quote
  #95    
Old April 22nd, 2013 (03:44 PM).
KingCharizard's Avatar
KingCharizard KingCharizard is offline
C++ Developer Extraordinaire
 
Join Date: Dec 2009
Location: Pennsylvania
Age: 26
Gender: Male
Nature: Bold
Posts: 1,245
Quote:
I strongly recommend an eventing system like RMXP uses. Each event command is given a number, which runs a particular method (e.g. command_101 is the "Show Text" method). Each command can have a number of parameters (e.g. the only parameter for "Show Text" is a string containing the text itself).

Event commands are basically shortcuts for things you'd commonly want an event to do (speak, move around, make choices, etc.). They're more user-friendly than using LUA to do everything, and you can easily have a LUA event command as well.

Events themselves are a collection of variables, which contain things such as the event's name, graphic, trigger setting and so on, as well as the aforementioned list of event commands. I can't imagine it'd be that difficult to come up with an Event object class to store the required information. For starters, mimicking RMXP would be a good idea, although later on they could definitely be improved to increase flexibility and better suit Pokémon games.

In general, I do think RMXP is a good program to use in terms of how it arranges itself, and you'd do well to base your program on it (e.g. how events work, having a Database for defining things, etc.).
This is really interesting, I was thinking of a object approach. Create each object instance at the array coordinates, each object will have properties/methods that have use similar to RMXP where u can create events that work like code.

I know nothing about lua, I don't know if its even a good choice to use it when C# is fairly easy for beginners to learn, and if this kit is made correctly beginners won't have to worry about learning the more advanced features of C# to make a game.

I also would like to note, that I will help with some ideas/coding and what not if you want. Like i said previously drop me a PM to discuss details.
__________________
My personal website. UPDATED 8/29/2013
Reply With Quote
  #96    
Old April 22nd, 2013 (03:51 PM). Edited April 22nd, 2013 by oxysoft.
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by KingCharizard:
This is really interesting, I was thinking of a object approach. Create each object instance at the array coordinates, each object will have properties/methods that have use similar to RMXP where u can create events that work like code.

I know nothing about lua, I don't know if its even a good choice to use it when C# is fairly easy for beginners to learn, and if this kit is made correctly beginners won't have to worry about learning the more advanced features of C# to make a game.

I also would like to note, that I will help with some ideas/coding and what not if you want. Like i said previously drop me a PM to discuss details.
LUA is the most popular scripting language in games nowadays. Whenever you play online games, most commonly, npc scripts and stuff are most likely written in LUA. (Unless they decided to completely throw that out the window and hardcode npcs which is insane)
__________________
PokeSharp Engine
Reply With Quote
  #97    
Old April 23rd, 2013 (09:14 AM).
Krissel095's Avatar
Krissel095 Krissel095 is offline
 
Join Date: Jul 2008
Gender:
Posts: 12
I just can't believe how cheeky you are claiming to be the author of "your" engine code. I'm the Pokemon Dawn lead developer and your code is just an extended Version of my Engine, so just stop claiming you wrote most of the code...

A small mapeditor tool is nothing compared to the complete engine code, neither in complexity nor as a part of code for the whole project. I really don't mind if you use our code to develop your own engine or mapeditor, but if you do, you can't just claim to own the whole thing and I expect to get credited for what we've done the past 3 years.
Reply With Quote
  #98    
Old April 23rd, 2013 (11:35 AM). Edited April 23rd, 2013 by Maruno.
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by Krissel095:
I just can't believe how cheeky you are claiming to be the author of "your" engine code. I'm the Pokemon Dawn lead developer and your code is just an extended Version of my Engine, so just stop claiming you wrote most of the code...
I inspired myself alot from your code but i've written a good part of it yes. I know it really sounds like i've build upon your released source but you've got to trust me.

Quote originally posted by Krissel095:
A small mapeditor tool is nothing compared to the complete engine code, neither in complexity nor as a part of code for the whole project. I really don't mind if you use our code to develop your own engine or mapeditor, but if you do, you can't just claim to own the whole thing and I expect to get credited for what we've done the past 3 years.
I already know that, the map editor is probably where i've recycled the most code out of the whole thing. The main engine I can code it with no problem.
__________________
PokeSharp Engine
Reply With Quote
  #99    
Old April 24th, 2013 (04:04 AM).
KingCharizard's Avatar
KingCharizard KingCharizard is offline
C++ Developer Extraordinaire
 
Join Date: Dec 2009
Location: Pennsylvania
Age: 26
Gender: Male
Nature: Bold
Posts: 1,245
Quote originally posted by Krissel095:
I just can't believe how cheeky you are claiming to be the author of "your" engine code. I'm the Pokemon Dawn lead developer and your code is just an extended Version of my Engine, so just stop claiming you wrote most of the code...

A small mapeditor tool is nothing compared to the complete engine code, neither in complexity nor as a part of code for the whole project. I really don't mind if you use our code to develop your own engine or mapeditor, but if you do, you can't just claim to own the whole thing and I expect to get credited for what we've done the past 3 years.

Doubt you're the creator of pokemon dawn, but posts like this and the continue of "harassment" of posts towards the OP are the reasons most ppl lose motivation. The code can't be copyrighted by you technically because you wrote a pokemon Engine, also it is open source meaning it can be used redistributed, etc.. he already said the engine was used to fuel his development. I don't know how many time he can repeat it or how he can be more clear.

I understand what its like to want credit for hard work, but while the code looks similar there is no way to tell it is yours. Unless its exactly identical. He could have used some functions like the original deciding the way chose was the best. When making something similar, two ppl can and probably will write identical code.

Leave it go. Its really starting to annoy me, and the mod of this forum already said drop it.

FYI: The reason I dont think your the Dawn creator, because that is excellent work and someone who can produce quality work like that wont come on here, make a post and demand credit. They wouldn't care their work speaks for its self.
__________________
My personal website. UPDATED 8/29/2013
Reply With Quote
  #100    
Old April 24th, 2013 (11:20 AM).
oxysoft's Avatar
oxysoft oxysoft is offline
 
Join Date: Sep 2009
Posts: 97
Quote originally posted by KingCharizard:
Doubt you're the creator of pokemon dawn, but posts like this and the continue of "harassment" of posts towards the OP are the reasons most ppl lose motivation. The code can't be copyrighted by you technically because you wrote a pokemon Engine, also it is open source meaning it can be used redistributed, etc.. he already said the engine was used to fuel his development. I don't know how many time he can repeat it or how he can be more clear.

I understand what its like to want credit for hard work, but while the code looks similar there is no way to tell it is yours. Unless its exactly identical. He could have used some functions like the original deciding the way chose was the best. When making something similar, two ppl can and probably will write identical code.

Leave it go. Its really starting to annoy me, and the mod of this forum already said drop it.

FYI: The reason I dont think your the Dawn creator, because that is excellent work and someone who can produce quality work like that wont come on here, make a post and demand credit. They wouldn't care their work speaks for its self.
Krissel is in fact the programmer of Pokemon Dawn.
__________________
PokeSharp Engine
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 05:56 PM.