├── .gitattributes
├── .gitignore
├── LOVC.sln
├── LOVC.userprefs
├── LOVC.v12.suo
├── LOVC
├── AssemblyInfo.cs
├── Gamedata
│ └── Rooms
│ │ ├── model1.map
│ │ ├── model2.map
│ │ ├── model3.map
│ │ └── model4.map
├── LOVC.csproj
├── LOVC
│ ├── Chat
│ │ └── SayMode.cs
│ ├── GameService.cs
│ ├── Player
│ │ ├── Player.cs
│ │ └── Players.cs
│ └── Room
│ │ ├── LeaveReason.cs
│ │ ├── LocationType.cs
│ │ ├── Room.cs
│ │ ├── RoomInfo.cs
│ │ ├── RoomManager.cs
│ │ └── RoomModel.cs
├── Platform
│ ├── Utils
│ │ ├── HttpClient.cs
│ │ └── MD5.cs
│ ├── VK
│ │ ├── Responses
│ │ │ ├── Response.cs
│ │ │ └── UserInfo.cs
│ │ ├── VK.cs
│ │ └── VKClient.cs
│ ├── Vectors
│ │ ├── Vector2.cs
│ │ └── Vector3.cs
│ └── WebSockets
│ │ ├── NetAccessible.cs
│ │ ├── NetService.cs
│ │ └── Packets
│ │ └── InvokePackage.cs
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
├── Thirtparty
│ ├── WebSockets
│ │ ├── ByteOrder.cs
│ │ ├── CloseEventArgs.cs
│ │ ├── CloseStatusCode.cs
│ │ ├── CompressionMethod.cs
│ │ ├── ErrorEventArgs.cs
│ │ ├── Ext.cs
│ │ ├── Fin.cs
│ │ ├── Handshake.cs
│ │ ├── Mask.cs
│ │ ├── MessageEventArgs.cs
│ │ ├── Net
│ │ │ ├── AuthenticationSchemeSelector.cs
│ │ │ ├── AuthenticationSchemes.cs
│ │ │ ├── ChunkStream.cs
│ │ │ ├── ChunkedInputStream.cs
│ │ │ ├── Cookie.cs
│ │ │ ├── CookieCollection.cs
│ │ │ ├── CookieException.cs
│ │ │ ├── EndPointListener.cs
│ │ │ ├── EndPointManager.cs
│ │ │ ├── HttpConnection.cs
│ │ │ ├── HttpHeaderInfo.cs
│ │ │ ├── HttpHeaderType.cs
│ │ │ ├── HttpListener.cs
│ │ │ ├── HttpListenerContext.cs
│ │ │ ├── HttpListenerException.cs
│ │ │ ├── HttpListenerPrefixCollection.cs
│ │ │ ├── HttpListenerRequest.cs
│ │ │ ├── HttpListenerResponse.cs
│ │ │ ├── HttpStatusCode.cs
│ │ │ ├── HttpStreamAsyncResult.cs
│ │ │ ├── HttpUtility.cs
│ │ │ ├── HttpVersion.cs
│ │ │ ├── ListenerAsyncResult.cs
│ │ │ ├── ListenerPrefix.cs
│ │ │ ├── RequestStream.cs
│ │ │ ├── ResponseStream.cs
│ │ │ ├── Security
│ │ │ │ └── SslStream.cs
│ │ │ ├── WebHeaderCollection.cs
│ │ │ └── WebSockets
│ │ │ │ ├── HttpListenerWebSocketContext.cs
│ │ │ │ ├── TcpListenerWebSocketContext.cs
│ │ │ │ └── WebSocketContext.cs
│ │ ├── Opcode.cs
│ │ ├── PayloadData.cs
│ │ ├── RequestHandshake.cs
│ │ ├── ResponseHandshake.cs
│ │ ├── Rsv.cs
│ │ ├── Server
│ │ │ ├── HttpRequestEventArgs.cs
│ │ │ ├── HttpServer.cs
│ │ │ ├── IServiceHost.cs
│ │ │ ├── ServiceHostManager.cs
│ │ │ ├── WebSocketServer.cs
│ │ │ ├── WebSocketServerBase.cs
│ │ │ ├── WebSocketService.cs
│ │ │ ├── WebSocketServiceHost.cs
│ │ │ └── WebSocketServiceManager.cs
│ │ ├── WebSocket.cs
│ │ ├── WebSocketException.cs
│ │ ├── WsFrame.cs
│ │ ├── WsState.cs
│ │ └── WsStream.cs
│ └── fastJSON
│ │ ├── Formatter.cs
│ │ ├── Getters.cs
│ │ ├── JSON.cs
│ │ ├── JsonParser.cs
│ │ ├── JsonSerializer.cs
│ │ ├── Reflection.cs
│ │ └── SafeDictionary.cs
├── bin
│ └── Debug
│ │ ├── Gamedata
│ │ └── Rooms
│ │ │ ├── model1.json
│ │ │ ├── model1.map
│ │ │ ├── model2.map
│ │ │ ├── model3.map
│ │ │ └── model4.map
│ │ ├── LOVC.exe
│ │ ├── LOVC.exe.mdb
│ │ ├── LOVC.pdb
│ │ ├── LOVC.vshost.exe
│ │ ├── LOVC.vshost.exe.manifest
│ │ └── htdocs
│ │ ├── css
│ │ ├── Game.css
│ │ ├── bootstrap.min.css
│ │ ├── default.css
│ │ ├── font-awesome-ie7.css
│ │ ├── font-awesome-ie7.min.css
│ │ ├── font-awesome.css
│ │ ├── font-awesome.min.css
│ │ └── terminal.css
│ │ ├── font
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ └── fontawesome-webfont.woff
│ │ ├── gamedata
│ │ ├── character
│ │ │ ├── clothes
│ │ │ │ ├── 1.png
│ │ │ │ └── 1.psd
│ │ │ └── model
│ │ │ │ ├── 0.png
│ │ │ │ ├── 0.png.json
│ │ │ │ ├── 1.png
│ │ │ │ ├── 3.png
│ │ │ │ ├── 3.png.json
│ │ │ │ ├── Character.png
│ │ │ │ ├── Character.psd
│ │ │ │ ├── Character_r2.psd
│ │ │ │ ├── Character_r3.psd
│ │ │ │ ├── Character_r4.psd
│ │ │ │ ├── Character_r5.psd
│ │ │ │ ├── Character_r6.psd
│ │ │ │ ├── Character_r7.png
│ │ │ │ ├── Character_r7.psd
│ │ │ │ ├── Character_r8.psd
│ │ │ │ ├── DENFER.png.json
│ │ │ │ ├── DENFER2.png
│ │ │ │ ├── LOVC_Character.psd
│ │ │ │ ├── actor1m.png
│ │ │ │ ├── box.psd
│ │ │ │ ├── char.png
│ │ │ │ ├── char.psd
│ │ │ │ ├── char_sit.png
│ │ │ │ ├── char_sit.psd
│ │ │ │ ├── female.png
│ │ │ │ ├── head.png
│ │ │ │ ├── head
│ │ │ │ └── Character.png
│ │ │ │ ├── headMask.png
│ │ │ │ ├── headMask.psd
│ │ │ │ ├── loading.png
│ │ │ │ ├── loading.psd
│ │ │ │ ├── male.png
│ │ │ │ ├── r.png
│ │ │ │ ├── rel.png
│ │ │ │ └── sit.png
│ │ ├── crud
│ │ │ ├── 00.png
│ │ │ ├── 18316.jpg
│ │ │ ├── 76448_492257947485034_478192062_n.png
│ │ │ ├── BE2.gif
│ │ │ ├── BOT.gif
│ │ │ ├── Untitled-1.psd
│ │ │ ├── Untitled-2.psd
│ │ │ ├── Z63.gif
│ │ │ ├── block.png
│ │ │ ├── block.png.json
│ │ │ ├── block.psd
│ │ │ ├── block2.png
│ │ │ ├── block2.psd
│ │ │ ├── block_x.png
│ │ │ ├── block_x.png.json
│ │ │ ├── block_x.png.poly.png
│ │ │ ├── block_x.psd
│ │ │ ├── box.png
│ │ │ ├── box.png.json
│ │ │ ├── box.psd
│ │ │ ├── char.psd
│ │ │ ├── compass.png
│ │ │ ├── computer_laptop.gif
│ │ │ ├── computer_laptop.png
│ │ │ ├── desk.png
│ │ │ ├── desk.png.json
│ │ │ ├── desk.psd
│ │ │ ├── desk_1.gif
│ │ │ ├── fFspT.png
│ │ │ ├── form.png
│ │ │ ├── hc2_carpet.png
│ │ │ ├── hc2_carpet.png.json
│ │ │ ├── jszq84 — копия.png
│ │ │ ├── jszq84.png
│ │ │ ├── laptop.png
│ │ │ ├── laptop.png.json
│ │ │ ├── navbar.png
│ │ │ ├── navbar.psd
│ │ │ ├── rwallhy.png
│ │ │ ├── rwallhy.png.json
│ │ │ ├── rwallx.png
│ │ │ ├── rwallx.png.json
│ │ │ ├── rwallx_e.png
│ │ │ ├── rwallxd.png
│ │ │ ├── rwallxd.png.json
│ │ │ ├── rwallxy.png
│ │ │ ├── rwallxy.psd
│ │ │ ├── rwallxy2.psd
│ │ │ ├── rwallxy_e.png
│ │ │ ├── rwallxy_e.psd
│ │ │ ├── rwallxy_ne.psd
│ │ │ ├── rwally.png
│ │ │ ├── rwally.png.json
│ │ │ ├── rwally.psd
│ │ │ ├── rwally_e.png
│ │ │ ├── rwally_h.png
│ │ │ ├── screen.png
│ │ │ ├── screen2.png
│ │ │ ├── sofa.gif
│ │ │ ├── sofa.png
│ │ │ ├── sofa.png.json
│ │ │ ├── sofa.psd
│ │ │ ├── sofar.png
│ │ │ ├── sofar.psd
│ │ │ ├── sofax.png
│ │ │ ├── sofax.psd
│ │ │ ├── sofaxd.png
│ │ │ ├── tile.png
│ │ │ ├── tile.png.json
│ │ │ ├── tile.psd
│ │ │ ├── vcity_x.png
│ │ │ ├── waasa_desk.gif
│ │ │ ├── waasa_desk.png
│ │ │ ├── waasa_table_1.gif
│ │ │ ├── wall.png
│ │ │ ├── wall.png.json
│ │ │ ├── wall.psd
│ │ │ ├── wall_rx.png
│ │ │ ├── wall_rx.png.json
│ │ │ ├── wall_x.png
│ │ │ ├── wall_x.png.json
│ │ │ ├── wall_x.psd
│ │ │ ├── wall_x2.png
│ │ │ ├── wall_x2.png.json
│ │ │ ├── wall_xy.png
│ │ │ ├── wall_xy.png.json
│ │ │ ├── wall_xy.psd
│ │ │ ├── wall_y.png
│ │ │ ├── wall_y.png.json
│ │ │ ├── wallf.png.json
│ │ │ ├── wallf.psd
│ │ │ ├── wallfx.png
│ │ │ ├── wallfxy.png
│ │ │ ├── wallfxy.png.json
│ │ │ ├── wallfxy.psd
│ │ │ ├── wallfy.png
│ │ │ ├── wallfy.png.json
│ │ │ ├── wallfy.psd
│ │ │ ├── wally.png
│ │ │ ├── wally.psd
│ │ │ └── wallye.png
│ │ ├── furni
│ │ │ ├── area_sofa.json
│ │ │ ├── area_sofa.png
│ │ │ ├── picture.json
│ │ │ └── picture.png
│ │ └── gui
│ │ │ ├── box_btn.png
│ │ │ ├── chat-bubble.png
│ │ │ ├── games_btn.png
│ │ │ ├── head.png
│ │ │ ├── rooms.gif
│ │ │ ├── shark_btn.png
│ │ │ ├── spider_btn.png
│ │ │ └── star_btn.png
│ │ ├── imagesx
│ │ ├── black-icons.png
│ │ ├── vCity.png
│ │ ├── vCity.psd
│ │ ├── vk.png
│ │ ├── white-icons.png
│ │ └── wiDeYHqa-4o.jpg
│ │ ├── img
│ │ ├── glyphicons-halflings-white.png
│ │ ├── glyphicons-halflings.png
│ │ └── load.gif
│ │ ├── index.html
│ │ ├── js
│ │ ├── bootstrap.js
│ │ └── bootstrap.min.js
│ │ └── scripts
│ │ ├── Actor.js
│ │ ├── Block.js
│ │ ├── Box2D.js
│ │ ├── Box2D
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── angryshapes.js
│ │ ├── box2d.js
│ │ ├── changelog.txt
│ │ ├── demo1.html
│ │ ├── demo2.html
│ │ ├── demo2.js
│ │ ├── demo3.html
│ │ ├── demo3.js
│ │ ├── demo4.html
│ │ ├── img
│ │ │ ├── ball.png
│ │ │ ├── shapes.png
│ │ │ ├── shapesBig.png
│ │ │ └── turret.png
│ │ ├── libs
│ │ │ ├── Box2dWeb-2.1.a.3.js
│ │ │ └── crafty.js
│ │ ├── package.json
│ │ ├── pong.js
│ │ ├── test.html
│ │ └── test.js
│ │ ├── BoxOverlays.js
│ │ ├── Chat.js
│ │ ├── Chat_bak.js
│ │ ├── GameObject.js
│ │ ├── HUD.js
│ │ ├── InfoBox.js
│ │ ├── Inventory.js
│ │ ├── Isometric.js
│ │ ├── Navigation.js
│ │ ├── Network
│ │ └── Network.js
│ │ ├── RealDelay.js
│ │ ├── Space.js
│ │ ├── Sprite.js
│ │ ├── SpriteColor.js
│ │ ├── astar.js
│ │ ├── bootbox.js
│ │ ├── bootstrap.js
│ │ ├── bootstrap.min.js
│ │ ├── config.js
│ │ ├── core.js
│ │ ├── crafty.js
│ │ ├── crafty.min.js
│ │ ├── dterm.js
│ │ ├── ext-all.js
│ │ ├── game.js
│ │ ├── game2.js
│ │ ├── graph.js
│ │ ├── input.js
│ │ ├── jquery.js
│ │ ├── jquery.min.js
│ │ ├── lang.ru.js
│ │ ├── localization.js
│ │ ├── mousewheel.js
│ │ ├── rainbow.min.js
│ │ ├── terminal.js
│ │ ├── terminal.min.js
│ │ ├── tilda.js
│ │ └── utils.js
└── obj
│ └── x86
│ └── Debug
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── LOVC.csproj.FileListAbsolute.txt
│ ├── LOVC.csprojResolveAssemblyReference.cache
│ ├── LOVC.exe
│ └── LOVC.pdb
└── README.md
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Windows Installer files
12 | *.cab
13 | *.msi
14 | *.msm
15 | *.msp
16 |
17 | # =========================
18 | # Operating System Files
19 | # =========================
20 |
21 | # OSX
22 | # =========================
23 |
24 | .DS_Store
25 | .AppleDouble
26 | .LSOverride
27 |
28 | # Icon must end with two \r
29 | Icon
30 |
31 | # Thumbnails
32 | ._*
33 |
34 | # Files that might appear on external disk
35 | .Spotlight-V100
36 | .Trashes
37 |
38 | # Directories potentially created on remote AFP share
39 | .AppleDB
40 | .AppleDesktop
41 | Network Trash Folder
42 | Temporary Items
43 | .apdisk
44 |
--------------------------------------------------------------------------------
/LOVC.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LOVC", "LOVC\LOVC.csproj", "{34D3A851-4212-4851-AC66-5D62DA3EEA5A}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|x86 = Debug|x86
9 | Release|x86 = Release|x86
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {34D3A851-4212-4851-AC66-5D62DA3EEA5A}.Debug|x86.ActiveCfg = Debug|x86
13 | {34D3A851-4212-4851-AC66-5D62DA3EEA5A}.Debug|x86.Build.0 = Debug|x86
14 | {34D3A851-4212-4851-AC66-5D62DA3EEA5A}.Release|x86.ActiveCfg = Release|x86
15 | {34D3A851-4212-4851-AC66-5D62DA3EEA5A}.Release|x86.Build.0 = Release|x86
16 | EndGlobalSection
17 | GlobalSection(MonoDevelopProperties) = preSolution
18 | StartupItem = LOVC\LOVC.csproj
19 | Policies = $0
20 | $0.TextStylePolicy = $1
21 | $1.inheritsSet = VisualStudio
22 | $1.inheritsScope = text/plain
23 | $1.scope = text/x-csharp
24 | $0.CSharpFormattingPolicy = $2
25 | $2.IndentSwitchBody = True
26 | $2.AnonymousMethodBraceStyle = NextLine
27 | $2.PropertyBraceStyle = NextLine
28 | $2.PropertyGetBraceStyle = NextLine
29 | $2.PropertySetBraceStyle = NextLine
30 | $2.EventBraceStyle = NextLine
31 | $2.EventAddBraceStyle = NextLine
32 | $2.EventRemoveBraceStyle = NextLine
33 | $2.StatementBraceStyle = NextLine
34 | $2.ArrayInitializerBraceStyle = NextLine
35 | $2.BeforeMethodDeclarationParentheses = False
36 | $2.BeforeMethodCallParentheses = False
37 | $2.BeforeConstructorDeclarationParentheses = False
38 | $2.BeforeDelegateDeclarationParentheses = False
39 | $2.NewParentheses = False
40 | $2.inheritsSet = Mono
41 | $2.inheritsScope = text/x-csharp
42 | $2.scope = text/x-csharp
43 | EndGlobalSection
44 | EndGlobal
45 |
--------------------------------------------------------------------------------
/LOVC.userprefs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | OnRequest
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/LOVC.v12.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC.v12.suo
--------------------------------------------------------------------------------
/LOVC/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 |
4 | // Information about this assembly is defined by the following attributes.
5 | // Change them to the values specific to your project.
6 |
7 | [assembly: AssemblyTitle("LOVC")]
8 | [assembly: AssemblyDescription("")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("")]
11 | [assembly: AssemblyProduct("")]
12 | [assembly: AssemblyCopyright("DENFER")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision,
18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision.
19 |
20 | [assembly: AssemblyVersion("1.0.*")]
21 |
22 | // The following attributes are used to specify the signing key for the assembly,
23 | // if desired. See the Mono documentation for more information about signing.
24 |
25 | //[assembly: AssemblyDelaySign(false)]
26 | //[assembly: AssemblyKeyFile("")]
27 |
28 |
--------------------------------------------------------------------------------
/LOVC/Gamedata/Rooms/model1.map:
--------------------------------------------------------------------------------
1 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 | -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 |
8 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
9 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
10 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
11 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
12 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
13 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
14 |
15 | 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 | 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17 | 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18 | 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 | 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20 | 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21 |
22 | 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8
23 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/LOVC/Gamedata/Rooms/model2.map:
--------------------------------------------------------------------------------
1 | 1 0 0 0 0 0 0 0 0 0
2 | 1 0 0 0 0 0 0 0 0 0
3 | -1 0 0 1 1 1 0 0 0 0
4 | 1 0 0 1 1 1 0 0 0 0
5 | 1 0 0 0 0 0 0 0 0 0
6 | 1 0 0 0 0 0 0 0 0 0
7 | 1 0 1 0 1 1 1 1 1 1
8 | 1 0 0 0 1 1 1 1 1 1
9 |
10 | 0 3 3 3 3 3 3 3 3 3
11 | 0 3 3 3 3 3 3 3 3 3
12 | 3 3 3 0 0 0 3 3 3 3
13 | 0 3 3 0 0 0 3 3 3 3
14 | 0 3 3 3 3 3 3 3 3 3
15 | 0 3 3 3 3 3 3 3 3 3
16 | 0 3 0 3 0 0 0 0 0 0
17 | 0 3 3 3 0 0 0 0 0 0
18 |
19 | 0 4 0 0 0 0 0 0 0 0
20 | 0 4 0 0 0 0 0 0 0 0
21 | 0 6 0 0 0 0 0 0 0 0
22 | 0 4 0 0 0 0 0 0 0 0
23 | 0 4 0 0 0 0 0 0 0 0
24 | 0 4 0 0 0 0 0 0 0 0
25 | 0 4 0 0 0 0 0 0 0 0
26 | 0 5 0 0 0 0 0 0 0 0
27 |
28 | 0 7 7 7 7 7 7 7 7 8
29 | 0 0 0 0 0 0 0 0 0 0
30 | 0 0 0 0 0 0 0 0 0 0
31 | 0 0 0 0 0 0 0 0 0 0
32 | 0 0 0 0 0 0 0 0 0 0
33 | 0 0 0 0 0 0 0 0 0 0
34 | 0 0 0 0 0 0 0 0 0 0
35 | 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/LOVC/Gamedata/Rooms/model3.map:
--------------------------------------------------------------------------------
1 | 1 0 0 0 0 0 0 0 0 0
2 | -1 0 0 0 0 0 0 0 0 0
3 | 1 0 0 0 0 0 0 0 0 0
4 | 1 0 0 0 0 0 0 0 0 0
5 | 1 0 0 0 0 0 0 0 0 0
6 | 1 0 0 0 0 0 0 0 0 0
7 |
8 | 0 3 3 3 3 3 3 3 3 3
9 | 3 3 3 3 3 3 3 3 3 3
10 | 0 3 3 3 3 3 3 3 3 3
11 | 0 3 3 3 3 3 3 3 3 3
12 | 0 3 3 3 3 3 3 3 3 3
13 | 0 3 3 3 3 3 3 3 3 3
14 |
15 | 0 4 0 0 0 0 0 0 0 0
16 | 0 6 0 0 0 0 0 0 0 0
17 | 0 4 0 0 0 0 0 0 0 0
18 | 0 4 0 0 0 0 0 0 0 0
19 | 0 4 0 0 0 0 0 0 0 0
20 | 0 5 0 0 0 0 0 0 0 0
21 |
22 | 0 7 7 7 7 7 7 7 7 8
23 | 0 0 0 0 0 0 0 0 0 0
24 | 0 0 0 0 0 0 0 0 0 0
25 | 0 0 0 0 0 0 0 0 0 0
26 | 0 0 0 0 0 0 0 0 0 0
27 | 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/LOVC/Gamedata/Rooms/model4.map:
--------------------------------------------------------------------------------
1 | 1 0 0 0 1 0 0 0 0 0
2 | 1 0 0 0 1 0 0 0 0 0
3 | 1 1 1 1 1 0 0 0 0 0
4 | 1 0 0 0 0 0 0 0 0 0
5 | -1 0 0 0 0 0 0 0 0 0
6 | 1 0 0 0 0 0 0 0 0 0
7 | 1 0 0 0 0 0 0 0 0 0
8 | 1 0 0 0 0 0 0 0 0 0
9 | 1 0 0 0 0 0 0 0 0 0
10 |
11 | 0 0 0 0 0 3 3 3 3 3
12 | 0 0 0 0 0 3 3 3 3 3
13 | 0 0 0 0 0 3 3 3 3 3
14 | 0 3 3 3 3 3 3 3 3 3
15 | 3 3 3 3 3 3 3 3 3 3
16 | 0 3 3 3 3 3 3 3 3 3
17 | 0 3 3 3 3 3 3 3 3 3
18 | 0 3 3 3 3 3 3 3 3 3
19 | 0 3 3 3 3 3 3 3 3 3
20 |
21 | 0 0 0 0 0 4 0 0 0 0
22 | 0 0 0 0 0 4 0 0 0 0
23 | 0 0 0 0 0 4 0 0 0 0
24 | 0 4 0 0 0 0 0 0 0 0
25 | 0 6 0 0 0 0 0 0 0 0
26 | 0 4 0 0 0 0 0 0 0 0
27 | 0 4 0 0 0 0 0 0 0 0
28 | 0 4 0 0 0 0 0 0 0 0
29 | 0 5 0 0 0 0 0 0 0 0
30 |
31 | 0 0 0 0 0 7 7 7 7 8
32 | 0 0 0 0 0 0 0 0 0 0
33 | 0 0 0 0 0 0 0 0 0 0
34 | 0 7 7 7 7 0 0 0 0 0
35 | 0 0 0 0 0 0 0 0 0 0
36 | 0 0 0 0 0 0 0 0 0 0
37 | 0 0 0 0 0 0 0 0 0 0
38 | 0 0 0 0 0 0 0 0 0 0
39 | 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/LOVC/LOVC/Chat/SayMode.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public enum SayMode
6 | {
7 | Normal = 0,
8 | Shout = 1,
9 | Whisper = 2,
10 | Action = 3
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/LOVC/LOVC/GameService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 |
5 | using WebSocketSharp;
6 |
7 | namespace LOVC
8 | {
9 | public class GameService : NetService
10 | {
11 | public static Players players = new Players();
12 | protected Player player;
13 | protected bool authenticated = false;
14 |
15 | protected override void connect()
16 | {
17 | try
18 | {
19 | var id = DateTime.Now.Millisecond;
20 | var auth_key = "empty";
21 | authenticated = true;
22 |
23 | /* Real authentication for VK social
24 | var id = Convert.ToInt32(Query("viewer_id"));
25 | var auth_key = Query("auth_key");
26 | VK.Authenticate(id, auth_key);
27 | */
28 |
29 |
30 | if (authenticated)
31 | {
32 | if (players.ContainsKey(id))
33 | {
34 | players [id].connection.Kick("You already connected from other window");
35 | players.Remove(id);
36 | }
37 | var info = VK.getInfo(id);
38 | player = new Player(){ connection = this, id = Convert.ToInt32(id), name = info.first_name, room = RoomManager.lobby };
39 | player.Initialize();
40 | players.Add(player.id, player);
41 | return;
42 | }
43 | Kick("Invalid auth key");
44 | } catch (Exception e)
45 | {
46 | Console.WriteLine("[GameService:Exception] " + e);
47 | }
48 |
49 | Kick("Invalid identifier");
50 | }
51 |
52 | protected override void disconnect(CloseEventArgs e)
53 | {
54 | if (authenticated)
55 | {
56 | player.room.Leave(player, LeaveReason.Disconnect);
57 | players.Remove(player.id);
58 | }
59 | }
60 |
61 | [NetAccessible]
62 | public void GetRooms()
63 | {
64 | var list = new List();
65 | foreach (var room in RoomManager.rooms)
66 | list.Add(room.Value.info);
67 | Invoke("RoomList", list);
68 | list.Clear();
69 | list = null;
70 | }
71 |
72 | [NetAccessible]
73 | public void PlayerSay(string message, int mode){
74 | player.room.Chat(player, message, (SayMode)mode);
75 | }
76 |
77 | [NetAccessible]
78 | public void gotoRoom(string roomId)
79 | {
80 | var room = RoomManager.Get(roomId);
81 | if (room != null)
82 | player.room = room;
83 | }
84 |
85 | [NetAccessible]
86 | public void playerMove(int x, int y){
87 | Console.WriteLine("MOVE PLAYER TO: {0}x{1}", x, y);
88 | player.room.Move(player, x,y);
89 | }
90 |
91 | [NetAccessible]
92 | public void onlines(){
93 | Console.WriteLine("Onlines called");
94 | Invoke("count", players.Count);
95 | }
96 | }
97 | }
98 |
99 |
--------------------------------------------------------------------------------
/LOVC/LOVC/Player/Player.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public class Player
6 | {
7 | public string name { get; set; }
8 | public int id { get; set; }
9 | public GameService connection { get; set; }
10 | public Vector3 position = new Vector3();
11 | protected Room _room = null;
12 | public VKClient VKCli;
13 | public Room room
14 | {
15 | get
16 | {
17 | return _room;
18 | }
19 |
20 | set
21 | {
22 | if(_room != null)
23 | _room.Leave(this);
24 | value.Join(this, _room);
25 | _room = value;
26 | }
27 | }
28 |
29 | public void Initialize()
30 | {
31 | connection.Invoke("Initialize", id);
32 | Console.WriteLine(room);
33 | // room.Join(this);
34 | }
35 |
36 | /*public void move(int x, int y){
37 | // position.x = x;
38 | // position.y = y;
39 | foreach (var player in room.players)
40 | connection.Invoke("PlayerMove", player.Value.id, x, y);
41 | }
42 |
43 | public void Spawn(Vector3 Position)
44 | {
45 | this.position = Position;
46 | foreach (var player in room.players)
47 | if(player.Value.id != id)
48 | player.Value.connection.Invoke("PlayerSpawn", id, name, position);
49 |
50 | foreach (var player in room.players)
51 | if(player.Value.id != id)
52 | connection.Invoke("PlayerSpawn", player.Value.id, player.Value.name, player.Value.position);
53 | }*/
54 | }
55 | }
56 |
57 |
--------------------------------------------------------------------------------
/LOVC/LOVC/Player/Players.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace LOVC
5 | {
6 | public class Players : Dictionary
7 | {
8 | }
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/LOVC/LOVC/Room/LeaveReason.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public enum LeaveReason
6 | {
7 | SwitchRoom,
8 | Disconnect
9 | }
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/LOVC/LOVC/Room/LocationType.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public enum LocationType
6 | {
7 | Spawn = -1,
8 | Invalid = -9
9 | }
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/LOVC/LOVC/Room/Room.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 |
5 | using fastJSON;
6 |
7 | namespace LOVC
8 | {
9 | public class Room
10 | {
11 | public RoomInfo info;
12 | public Vector3 spawn
13 | {
14 | get {
15 | if (model != null)
16 | if (model.spawn != null)
17 | return model.spawn;
18 | return Vector3.Zero;
19 | }
20 | set { }
21 | }
22 | public List moderators = new List();
23 | public Players players = new Players();
24 |
25 | public RoomModel model;
26 |
27 | public Room()
28 | {
29 |
30 | }
31 |
32 | public Room(string modelName)
33 | {
34 | loadModel(modelName);
35 | }
36 |
37 | public Room loadModel(string name)
38 | {
39 | model = RoomModel.loadFrom(name);
40 | return this;
41 | }
42 |
43 | public virtual void Move(Player player, int x, int y)
44 | {
45 | player.position.x = x;
46 | player.position.y = y;
47 |
48 | foreach (var pl in players)
49 | if(pl.Value.id != player.id)
50 | pl.Value.connection.Invoke("PlayerMove", player.id, x, y);
51 | }
52 |
53 | public virtual void Chat(Player player, string message, SayMode mode)
54 | {
55 | Console.WriteLine("Player {0} say {1} ({2})", player.name, message, mode);
56 | if ((message.StartsWith("/") || message.StartsWith("!")) && message.Length > 1)
57 | {
58 | Command(player, message.Substring(1).Split(new[]{' '}, 2), mode);
59 | return;
60 | }
61 | foreach (var pl in players)
62 | if(pl.Value.id != player.id)
63 | pl.Value.connection.Invoke("PlayerSay", player.id, message, mode);
64 | }
65 |
66 | public virtual void Command(Player player, string[] command, SayMode mode = SayMode.Normal)
67 | {
68 | if (command[0].ToLower() == "me" && command.Length > 1)
69 | {
70 | foreach (var pl in players)
71 | if(pl.Value.id != player.id)
72 | pl.Value.connection.Invoke("PlayerSay", player.id, command[1], SayMode.Action);
73 | }
74 | }
75 |
76 | public virtual void Join(Player player, Room fromRoom = null)
77 | {
78 | info.count++;
79 | players [player.id] = player;
80 |
81 | player.connection.Invoke("RoomJoin", info.id, model.map, model.spawn);
82 |
83 | player.position.x = spawn.x;
84 | player.position.y = spawn.y;
85 |
86 |
87 | foreach (var pl in players)
88 | if(pl.Value.id != player.id)
89 | pl.Value.connection.Invoke("PlayerSpawn", player.id, player.name, spawn);
90 |
91 | foreach (var pl in players)
92 | if(pl.Value.id != player.id)
93 | player.connection.Invoke("PlayerSpawn", pl.Value.id, pl.Value.name, pl.Value.position);
94 |
95 | Console.WriteLine("Player {0} join to room {1} from {2}", player.name, info.name, fromRoom != null ? fromRoom.info.name : "black hole");
96 | }
97 |
98 | public virtual void Leave(Player player, LeaveReason reason = LeaveReason.SwitchRoom)
99 | {
100 | info.count--;
101 | if(players.ContainsKey(player.id))
102 | players.Remove(player.id);
103 | Console.WriteLine("Player " + player.id + " leave " + info.name);
104 | foreach (var pl in players)
105 | {
106 | pl.Value.connection.Invoke("PlayerDestroy", player.id);
107 | player.connection.Invoke("PlayerDestroy", pl.Value.id);
108 | player = null;
109 | }
110 | // InvokeGlobal("playerDestroy", player.id);
111 | }
112 | }
113 | }
114 |
115 |
--------------------------------------------------------------------------------
/LOVC/LOVC/Room/RoomInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public struct RoomInfo
6 | {
7 | public string id;
8 | public string name;
9 | public string description;
10 | public int likes;
11 | public int dislikes;
12 | public int owner;
13 | public int count;
14 | public int capacity;
15 | }
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/LOVC/LOVC/Room/RoomManager.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace LOVC
5 | {
6 | public static class RoomManager
7 | {
8 | public static Dictionary rooms = new Dictionary();
9 | public static Room lobby { get; set; }
10 | public static Room createRoom(string id, string model, int owner)
11 | {
12 | var r = new Room(model) { info = new RoomInfo(){ id = id, name = id, owner = owner, count = 0, capacity = 200 } };
13 | rooms.Add( id, r );
14 | return r;
15 | }
16 |
17 | public static Room Get(string id)
18 | {
19 | if (rooms.ContainsKey(id))
20 | return rooms [id];
21 | return null;
22 | }
23 | }
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/LOVC/LOVC/Room/RoomModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Collections.Generic;
4 |
5 | namespace LOVC
6 | {
7 | public class RoomModel
8 | {
9 | protected int[][][] model;
10 | public Vector3 spawn { get; protected set; }
11 | public string map;
12 |
13 | public RoomModel()
14 | {
15 |
16 | }
17 |
18 | public RoomModel(string modelObject)
19 | {
20 | load(modelObject);
21 | }
22 |
23 | public int this[int layer, int x, int y]{
24 | get {
25 | try
26 | {
27 | return model[layer][x][y];
28 | } catch (Exception ex) {
29 | #if DEBUG
30 | Console.WriteLine(ex);
31 | #endif
32 | }
33 | return (int)LocationType.Invalid;
34 | }
35 |
36 | set {
37 | try
38 | {
39 | model[layer][x][y] = value;
40 | } catch (Exception ex) {
41 | #if DEBUG
42 | Console.WriteLine(ex);
43 | #endif
44 | }
45 | }
46 | }
47 |
48 | public void regenerate()
49 | {
50 | map = fastJSON.JSON.Instance.ToJSON(model);
51 | }
52 |
53 | public static RoomModel loadFrom(string name)
54 | {
55 | var file = Environment.CurrentDirectory + "/Gamedata/Rooms/" + name + ".map";
56 | RoomModel roomModel = null;
57 | if(File.Exists(file))
58 | roomModel = new RoomModel(File.ReadAllText(file));
59 | return roomModel;
60 | }
61 |
62 | public RoomModel load(string modelObject)
63 | {
64 | var lines = modelObject.Replace("\r", "").Split('\n');
65 | int layerId = 0, layers = 1, vertical = 0, horisontal = 0, y = 0;
66 | for (var lineId = 0; lineId < lines.Length; lineId++)
67 | {
68 | var line = lines [lineId].Trim();
69 | if (layers == 1 && vertical == 0)
70 | horisontal = line.Split(' ').Length;
71 | if (layers == 1)
72 | vertical++;
73 | if (line.Length <= 0)
74 | layers++;
75 | }
76 | model = new int[layers][][];
77 | for (var l = 0; l < layers; l++)
78 | {
79 | model [l] = new int[horisontal][];
80 | for(var h = 0; h < horisontal; h++)
81 | model[l][h] = new int[vertical];
82 | }
83 | for (var lineId = 0; lineId < lines.Length; lineId++)
84 | {
85 | var line = lines[lineId].Trim();
86 | if (line.Length <= 0)
87 | {
88 | y = 0;
89 | layerId++;
90 | continue;
91 | }
92 | var locs = line.Split(' ');
93 | for (var x = 0; x < horisontal; x++)
94 | {
95 | var loc = Convert.ToInt32(locs[x]);
96 | if (loc == (int)LocationType.Spawn)
97 | spawn = new Vector3(x, y, 0);
98 | model [layerId] [x] [y] = loc;
99 | }
100 | y++;
101 | }
102 | regenerate();
103 | return this;
104 | }
105 | }
106 | }
107 |
108 |
--------------------------------------------------------------------------------
/LOVC/Platform/Utils/HttpClient.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Net;
5 | using System.Text;
6 |
7 | namespace LOVC
8 | {
9 | public class HttpClient
10 | {
11 | public string ClientName = "LOVC Server Wrapper";
12 | private readonly CookieContainer _cookies = new CookieContainer();
13 | public string Post(string address){
14 | return Post (address, "");
15 | }
16 | public string Post(string address, string data)
17 | {
18 | ServicePointManager.Expect100Continue = false;
19 | var result = "";
20 | var request = (HttpWebRequest)WebRequest.Create(address);
21 | request.CookieContainer = _cookies;
22 | request.Method = "POST";
23 | request.UserAgent = ClientName;
24 | request.ContentType = "application/x-www-form-urlencoded";
25 | using (Stream requestStream = request.GetRequestStream())
26 | using (StreamWriter writer = new StreamWriter(requestStream))
27 | {
28 | writer.Write(data);
29 | }
30 | using (var responseStream = request.GetResponse().GetResponseStream())
31 | if (responseStream != null)
32 | using (var reader = new StreamReader(responseStream))
33 | result = reader.ReadToEnd();
34 | request = null;
35 | return result;
36 | }
37 |
38 | public string Get(string address)
39 | {
40 | ServicePointManager.Expect100Continue = false;
41 | var result = "";
42 | var request = (HttpWebRequest)WebRequest.Create(address);
43 | request.CookieContainer = _cookies;
44 | request.Method = "GET";
45 | request.UserAgent = ClientName;
46 | using (var responseStream = request.GetResponse().GetResponseStream())
47 | if (responseStream != null)
48 | using (var reader = new StreamReader(responseStream))
49 | result = reader.ReadToEnd();
50 | request = null;
51 | return result;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/LOVC/Platform/Utils/MD5.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text;
3 | using System.Security.Cryptography;
4 |
5 | namespace LOVC
6 | {
7 | public static class MD5
8 | {
9 | public static string Encode(string input)
10 | {
11 | var result = string.Empty;
12 | foreach (var b in new MD5CryptoServiceProvider().ComputeHash(Encoding.Default.GetBytes(input)))
13 | result += b.ToString("X2").ToLower();
14 | return result;
15 | }
16 | }
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/LOVC/Platform/VK/Responses/Response.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public struct Response
6 | {
7 | public T response;
8 | }
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/LOVC/Platform/VK/Responses/UserInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public struct UserInfo
6 | {
7 | public int uid;
8 | public string first_name;
9 | public string last_name;
10 | }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/LOVC/Platform/VK/VK.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace LOVC
5 | {
6 | public class VK
7 | {
8 | private static int AppId = 0;
9 | private static string AppSecret = "";
10 | public static bool Authenticate(int viewer_id, string auth_key)
11 | {
12 | return MD5.Encode(AppId + "_" + viewer_id + "_" + AppSecret) == auth_key;
13 | }
14 | public static UserInfo getInfo(int id)
15 | {
16 | try
17 | {
18 | var client = new HttpClient();
19 | var json = client.Get("https://api.vk.com/method/users.get?uid=" + id);
20 | var uinfo = fastJSON.JSON.Instance.ToObject>>(json);
21 | client = null;
22 | return uinfo.response[0];
23 | } catch(Exception ex) {
24 | Console.WriteLine(ex);
25 | }
26 | return default(UserInfo);
27 | }
28 | }
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/LOVC/Platform/VK/VKClient.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public class VKClient
6 | {
7 | protected HttpClient client = new HttpClient();
8 |
9 | public VKClient(string access_token)
10 | {
11 |
12 | }
13 |
14 | public static T API(string method, string args)
15 | {
16 | try
17 | {
18 |
19 | } catch {
20 | }
21 | return default(T);
22 | }
23 | }
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/LOVC/Platform/Vectors/Vector2.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public class Vector2
6 | {
7 | public static readonly Vector2 Zero = new Vector2();
8 |
9 | public int x = 0, y = 0;
10 |
11 | public Vector2()
12 | {
13 | }
14 |
15 | public Vector2(int x, int y)
16 | {
17 | this.x = y;
18 | this.y = y;
19 | }
20 | }
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/LOVC/Platform/Vectors/Vector3.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public class Vector3
6 | {
7 | public static readonly Vector3 Zero = new Vector3();
8 |
9 | public int x = 0, y = 0, z = 0;
10 |
11 | public Vector3()
12 | {
13 | }
14 |
15 | public Vector3(int x, int y)
16 | {
17 | this.x = y;
18 | this.y = y;
19 | }
20 |
21 | public Vector3(int x, int y, int z)
22 | {
23 | this.x = x;
24 | this.y = y;
25 | this.z = z;
26 | }
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/LOVC/Platform/WebSockets/NetAccessible.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public class NetAccessible : Attribute { }
6 | }
--------------------------------------------------------------------------------
/LOVC/Platform/WebSockets/NetService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Collections.Specialized;
5 | using System.Reflection;
6 |
7 | using WebSocketSharp;
8 | using WebSocketSharp.Server;
9 |
10 | using fastJSON;
11 |
12 | namespace LOVC
13 | {
14 | public class NetService : WebSocketService
15 | {
16 | protected virtual void connect(){}
17 | protected virtual void disconnect(CloseEventArgs e){}
18 |
19 | protected override void OnOpen()
20 | {
21 | this.connect();
22 | }
23 |
24 | protected override void OnClose(CloseEventArgs e)
25 | {
26 | this.disconnect(e);
27 | }
28 |
29 | protected void Kick(string reason = "No reason")
30 | {
31 | Invoke("Kick", reason);
32 | Stop();
33 | }
34 |
35 | protected string Query(string key){
36 | if (QueryString.Contains(key))
37 | return QueryString [key];
38 | return null;
39 | }
40 |
41 | protected string Invoke_package(string function, object[] args)
42 | {
43 | var Packet = new InvokePackage()
44 | {
45 | function = function,
46 | args = args
47 | };
48 | return JSON.Instance.ToJSON(Packet);
49 | }
50 |
51 | public void Invoke(string function, params object[] args)
52 | {
53 | Send(Invoke_package(function, args));
54 | }
55 |
56 | public void InvokeGlobal(string function, params object[] args)
57 | {
58 | Broadcast(Invoke_package(function, args));
59 | }
60 |
61 | protected override void OnMessage(MessageEventArgs e)
62 | {
63 | try {
64 | var packet = JSON.Instance.ToObject(e.Data);
65 | trigger(packet.function, packet.args);
66 | } catch (Exception ex) {
67 | Console.WriteLine(ex);
68 | }
69 | }
70 |
71 | protected void trigger(string function, object[] args)
72 | {
73 | try
74 | {
75 | var methodInfo = GetType().GetMethod(function);
76 | if(methodInfo == null)
77 | return;
78 | var safe = false;
79 | foreach(Object attr in methodInfo.GetCustomAttributes(false))
80 | if(attr.GetType().Name == "NetAccessible")
81 | safe = true;
82 | if(!safe)
83 | return;
84 | var paramsInfo = methodInfo.GetParameters();
85 | object[] @params = new object[paramsInfo.Length];
86 | for(var i = 0; i < paramsInfo.Length; i++)
87 | if (args.Length > i)
88 | @params [i] = JSON.Instance.ToObject((string)args[i], paramsInfo[i].ParameterType);
89 | else
90 | if(!Convert.IsDBNull(paramsInfo[i].DefaultValue))
91 | @params [i] = paramsInfo[i].DefaultValue;
92 | else
93 | return;
94 | methodInfo.Invoke(this, @params);
95 | } catch (Exception ex) {
96 | Console.WriteLine(ex);
97 | }
98 | }
99 | }
100 | }
101 |
102 |
--------------------------------------------------------------------------------
/LOVC/Platform/WebSockets/Packets/InvokePackage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace LOVC
4 | {
5 | public struct InvokePackage
6 | {
7 | public string function;
8 | public object[] args;
9 | }
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/LOVC/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text;
3 | using WebSocketSharp;
4 | using WebSocketSharp.Net;
5 | using WebSocketSharp.Server;
6 |
7 | namespace LOVC {
8 | class MainClass {
9 | private static HttpServer _httpsv;
10 | public static void Main(string[] args){
11 | // Main spawn room for all
12 | RoomManager.lobby = RoomManager.createRoom("lobby", "model1", 12075682);
13 | // additional rooms
14 | RoomManager.createRoom("test", "model2", 12075682);
15 | RoomManager.createRoom("ЗБТ комната", "model4", 12075682);
16 | RoomManager.createRoom("GamesHumor :D", "model3", 12075682);
17 |
18 | // http server
19 | _httpsv = new HttpServer(7172);
20 | _httpsv.OnGet += (sender, e) => OnGet(e);
21 | _httpsv.OnError += (sender, e) => Console.WriteLine(e.Message);
22 |
23 | _httpsv.AddWebSocketService("/Game");
24 |
25 | //var socket = new WebSocketServer(IPAddress.Any, 7421);
26 | //socket.AddWebSocketService("/Game");
27 | //socket.Start();
28 | _httpsv.Start();
29 | Console.ReadLine();
30 | _httpsv.Stop();
31 | //socket.Stop();
32 | }
33 |
34 | private static byte[] GetContent(string path)
35 | {
36 | path = path.Split('?')[0];
37 | if (path == "/")
38 | path += "index.html";
39 | return _httpsv.GetFile("./htdocs/"+path);
40 | }
41 |
42 | private static void OnGet(HttpRequestEventArgs eventArgs)
43 | {
44 | var request = eventArgs.Request;
45 | var response = eventArgs.Response;
46 | response.ContentEncoding = Encoding.UTF8;
47 | var content = GetContent(request.RawUrl);
48 | if (content != null)
49 | {
50 | response.WriteContent(content);
51 | return;
52 | }
53 |
54 | response.StatusCode = (int)HttpStatusCode.NotFound;
55 | }
56 | }
57 | }
--------------------------------------------------------------------------------
/LOVC/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 |
4 | // Information about this assembly is defined by the following attributes.
5 | // Change them to the values specific to your project.
6 |
7 | [assembly: AssemblyTitle("LOVC")]
8 | [assembly: AssemblyDescription("")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("")]
11 | [assembly: AssemblyProduct("")]
12 | [assembly: AssemblyCopyright("DENFER")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision,
18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision.
19 |
20 | [assembly: AssemblyVersion("1.0.*")]
21 |
22 | // The following attributes are used to specify the signing key for the assembly,
23 | // if desired. See the Mono documentation for more information about signing.
24 |
25 | //[assembly: AssemblyDelaySign(false)]
26 | //[assembly: AssemblyKeyFile("")]
27 |
28 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/ByteOrder.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * ByteOrder.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | ///
34 | /// Contains the values that indicate whether the byte order is a Little-endian or Big-endian.
35 | ///
36 | public enum ByteOrder : byte
37 | {
38 | ///
39 | /// Indicates a Little-endian.
40 | ///
41 | LITTLE,
42 | ///
43 | /// Indicates a Big-endian.
44 | ///
45 | BIG
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/CloseEventArgs.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * CloseEventArgs.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 | using System.Text;
31 |
32 | namespace WebSocketSharp {
33 |
34 | ///
35 | /// Contains the event data associated with a event.
36 | ///
37 | ///
38 | /// The event occurs when the WebSocket receives a close control frame or
39 | /// the WebSocket.Close method is called. If you want to get the reason for closure, you should access
40 | /// the or properties.
41 | ///
42 | public class CloseEventArgs : MessageEventArgs
43 | {
44 | #region Fields
45 |
46 | private bool _clean;
47 | private ushort _code;
48 | private string _reason;
49 |
50 | #endregion
51 |
52 | #region Constructors
53 |
54 | internal CloseEventArgs(PayloadData data)
55 | : base(Opcode.CLOSE, data)
56 | {
57 | _code = getCodeFrom(data);
58 | _reason = getReasonFrom(data);
59 | _clean = false;
60 | }
61 |
62 | #endregion
63 |
64 | #region Properties
65 |
66 | ///
67 | /// Gets the status code for closure.
68 | ///
69 | ///
70 | /// A that contains a status code for closure.
71 | ///
72 | public ushort Code {
73 | get {
74 | return _code;
75 | }
76 | }
77 |
78 | ///
79 | /// Gets the reason for closure.
80 | ///
81 | ///
82 | /// A that contains a reason for closure.
83 | ///
84 | public string Reason {
85 | get {
86 | return _reason;
87 | }
88 | }
89 |
90 | ///
91 | /// Indicates whether the WebSocket connection closed cleanly.
92 | ///
93 | ///
94 | /// true if the WebSocket connection closed cleanly; otherwise, false.
95 | ///
96 | public bool WasClean {
97 | get {
98 | return _clean;
99 | }
100 |
101 | internal set {
102 | _clean = value;
103 | }
104 | }
105 |
106 | #endregion
107 |
108 | #region Private Methods
109 |
110 | private static ushort getCodeFrom(PayloadData data)
111 | {
112 | var appData = data.ApplicationData;
113 | return appData.Length >= 2
114 | ? appData.SubArray(0, 2).To(ByteOrder.BIG)
115 | : (ushort)CloseStatusCode.NO_STATUS_CODE;
116 | }
117 |
118 | private static string getReasonFrom(PayloadData data)
119 | {
120 | var appData = data.ApplicationData;
121 | var appDataLen = appData.Length;
122 | if (appDataLen <= 2)
123 | return String.Empty;
124 |
125 | var buffer = appData.SubArray(2, appDataLen - 2);
126 | return Encoding.UTF8.GetString(buffer);
127 | }
128 |
129 | #endregion
130 | }
131 | }
132 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/CompressionMethod.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * CompressionMethod.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | ///
34 | /// Contains the values of the compression methods used to compress the payload data of the WebSocket Data frame.
35 | ///
36 | ///
37 | /// The CompressionMethod enumeration contains the values of the compression methods defined in
38 | /// Compression Extensions for WebSocket.
39 | ///
40 | public enum CompressionMethod : byte
41 | {
42 | ///
43 | /// Indicates non compression.
44 | ///
45 | NONE,
46 | ///
47 | /// Indicates using DEFLATE.
48 | ///
49 | DEFLATE
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/ErrorEventArgs.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * ErrorEventArgs.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | ///
34 | /// Contains the event data associated with a error event.
35 | ///
36 | ///
37 | /// The error event occurs when this event sender gets an error.
38 | /// If you want to get the error message, you should access the property.
39 | ///
40 | public class ErrorEventArgs : EventArgs
41 | {
42 | #region Internal Constructors
43 |
44 | internal ErrorEventArgs(string message)
45 | {
46 | Message = message;
47 | }
48 |
49 | #endregion
50 |
51 | #region Public Properties
52 |
53 | ///
54 | /// Gets the error message.
55 | ///
56 | ///
57 | /// A that contains a error message.
58 | ///
59 | public string Message { get; private set; }
60 |
61 | #endregion
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Fin.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * Fin.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | internal enum Fin : byte
34 | {
35 | MORE = 0x0,
36 | FINAL = 0x1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Handshake.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * Handshake.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 | using System.Collections.Specialized;
31 | using System.Text;
32 | using WebSocketSharp.Net;
33 |
34 | namespace WebSocketSharp {
35 |
36 | internal abstract class Handshake {
37 |
38 | #region Protected Const Fields
39 |
40 | protected const string CrLf = "\r\n";
41 |
42 | #endregion
43 |
44 | #region Protected Constructors
45 |
46 | protected Handshake()
47 | {
48 | ProtocolVersion = HttpVersion.Version11;
49 | Headers = new NameValueCollection();
50 | }
51 |
52 | #endregion
53 |
54 | #region Public Properties
55 |
56 | public NameValueCollection Headers {
57 | get; protected set;
58 | }
59 |
60 | public Version ProtocolVersion {
61 | get; protected set;
62 | }
63 |
64 | #endregion
65 |
66 | #region Public Methods
67 |
68 | public void AddHeader(string name, string value)
69 | {
70 | Headers.Add(name, value);
71 | }
72 |
73 | public bool ContainsHeader(string name)
74 | {
75 | return Headers.Contains(name);
76 | }
77 |
78 | public bool ContainsHeader(string name, string value)
79 | {
80 | return Headers.Contains(name, value);
81 | }
82 |
83 | public string[] GetHeaderValues(string name)
84 | {
85 | return Headers.GetValues(name);
86 | }
87 |
88 | public byte[] ToByteArray()
89 | {
90 | return Encoding.UTF8.GetBytes(ToString());
91 | }
92 |
93 | #endregion
94 | }
95 | }
96 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Mask.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * Mask.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | internal enum Mask : byte
34 | {
35 | UNMASK = 0x0,
36 | MASK = 0x1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/MessageEventArgs.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * MessageEventArgs.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 | using System.Text;
31 |
32 | namespace WebSocketSharp {
33 |
34 | ///
35 | /// Contains the event data associated with a event.
36 | ///
37 | ///
38 | /// The event occurs when the WebSocket receives a text or binary data frame.
39 | /// If you want to get the received data, you should access the or
40 | /// properties.
41 | ///
42 | public class MessageEventArgs : EventArgs
43 | {
44 | #region Private Fields
45 |
46 | private string _data;
47 | private Opcode _opcode;
48 | private byte[] _rawData;
49 |
50 | #endregion
51 |
52 | #region Internal Constructors
53 |
54 | internal MessageEventArgs(Opcode opcode, byte[] rawData)
55 | {
56 | if ((ulong)rawData.LongLength > PayloadData.MaxLength)
57 | throw new WebSocketException(CloseStatusCode.TOO_BIG);
58 |
59 | _opcode = opcode;
60 | _rawData = rawData;
61 | }
62 |
63 | internal MessageEventArgs(Opcode opcode, PayloadData data)
64 | {
65 | _opcode = opcode;
66 | _rawData = data.ApplicationData;
67 | }
68 |
69 | #endregion
70 |
71 | #region Public Properties
72 |
73 | ///
74 | /// Gets the received data as a .
75 | ///
76 | ///
77 | /// A that contains the received data.
78 | ///
79 | public string Data {
80 | get {
81 | if (_data == null)
82 | _data = _rawData.LongLength == 0
83 | ? String.Empty
84 | : _opcode == Opcode.TEXT
85 | ? Encoding.UTF8.GetString(_rawData)
86 | : _opcode.ToString();
87 |
88 | return _data;
89 | }
90 | }
91 |
92 | ///
93 | /// Gets the received data as an array of .
94 | ///
95 | ///
96 | /// An array of that contains the received data.
97 | ///
98 | public byte[] RawData {
99 | get {
100 | return _rawData;
101 | }
102 | }
103 |
104 | ///
105 | /// Gets the type of the received data.
106 | ///
107 | ///
108 | /// One of the values that indicates the type of the received data.
109 | ///
110 | public Opcode Type {
111 | get {
112 | return _opcode;
113 | }
114 | }
115 |
116 | #endregion
117 | }
118 | }
119 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Net/AuthenticationSchemeSelector.cs:
--------------------------------------------------------------------------------
1 | //
2 | // AuthenticationSchemeSelector.cs
3 | // Copied from System.Net.AuthenticationSchemeSelector.cs
4 | //
5 | // Author:
6 | // Gonzalo Paniagua Javier
7 | //
8 | // Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
9 | //
10 | // Permission is hereby granted, free of charge, to any person obtaining
11 | // a copy of this software and associated documentation files (the
12 | // "Software"), to deal in the Software without restriction, including
13 | // without limitation the rights to use, copy, modify, merge, publish,
14 | // distribute, sublicense, and/or sell copies of the Software, and to
15 | // permit persons to whom the Software is furnished to do so, subject to
16 | // the following conditions:
17 | //
18 | // The above copyright notice and this permission notice shall be
19 | // included in all copies or substantial portions of the Software.
20 | //
21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 | //
29 |
30 | using System;
31 |
32 | namespace WebSocketSharp.Net {
33 |
34 | ///
35 | /// Selects the authentication scheme for a instance.
36 | ///
37 | ///
38 | /// One of the values that indicates the scheme used to authenticate the specified client request.
39 | ///
40 | ///
41 | /// A that contains a client request information.
42 | ///
43 | public delegate AuthenticationSchemes AuthenticationSchemeSelector (HttpListenerRequest httpRequest);
44 | }
45 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Net/AuthenticationSchemes.cs:
--------------------------------------------------------------------------------
1 | //
2 | // AuthenticationSchemes.cs
3 | // Copied from System.Net.AuthenticationSchemes.cs
4 | //
5 | // Author:
6 | // Atsushi Enomoto
7 | //
8 | // Copyright (C) 2005 Novell, Inc. (http://www.novell.com)
9 | //
10 | // Permission is hereby granted, free of charge, to any person obtaining
11 | // a copy of this software and associated documentation files (the
12 | // "Software"), to deal in the Software without restriction, including
13 | // without limitation the rights to use, copy, modify, merge, publish,
14 | // distribute, sublicense, and/or sell copies of the Software, and to
15 | // permit persons to whom the Software is furnished to do so, subject to
16 | // the following conditions:
17 | //
18 | // The above copyright notice and this permission notice shall be
19 | // included in all copies or substantial portions of the Software.
20 | //
21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 | //
29 |
30 | using System;
31 |
32 | namespace WebSocketSharp.Net {
33 |
34 | ///
35 | /// Contains the values of the schemes for authentication.
36 | ///
37 | [Flags]
38 | public enum AuthenticationSchemes {
39 |
40 | ///
41 | /// Indicates that no authentication is allowed.
42 | ///
43 | None,
44 | ///
45 | /// Indicates digest authentication.
46 | ///
47 | Digest = 1,
48 | ///
49 | /// Indicates negotiating with the client to determine the authentication scheme.
50 | ///
51 | Negotiate = 2,
52 | ///
53 | /// Indicates NTLM authentication.
54 | ///
55 | Ntlm = 4,
56 | ///
57 | /// Indicates Windows authentication.
58 | ///
59 | IntegratedWindowsAuthentication = 6,
60 | ///
61 | /// Indicates basic authentication.
62 | ///
63 | Basic = 8,
64 | ///
65 | /// Indicates anonymous authentication.
66 | ///
67 | Anonymous = 0x8000,
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Net/HttpHeaderInfo.cs:
--------------------------------------------------------------------------------
1 | //
2 | // HttpHeaderInfo.cs
3 | //
4 | // Authors:
5 | // sta (sta.blockhead@gmail.com)
6 | //
7 | // Copyright (c) 2013 sta.blockhead
8 | //
9 | // Permission is hereby granted, free of charge, to any person obtaining
10 | // a copy of this software and associated documentation files (the
11 | // "Software"), to deal in the Software without restriction, including
12 | // without limitation the rights to use, copy, modify, merge, publish,
13 | // distribute, sublicense, and/or sell copies of the Software, and to
14 | // permit persons to whom the Software is furnished to do so, subject to
15 | // the following conditions:
16 | //
17 | // The above copyright notice and this permission notice shall be
18 | // included in all copies or substantial portions of the Software.
19 | //
20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 | //
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp.Net {
32 |
33 | class HttpHeaderInfo {
34 |
35 | #region Constructor
36 |
37 | public HttpHeaderInfo ()
38 | {
39 | }
40 |
41 | #endregion
42 |
43 | #region Properties
44 |
45 | public bool IsMultiValueInRequest {
46 | get {
47 | return (Type & HttpHeaderType.MultiValueInRequest) == HttpHeaderType.MultiValueInRequest;
48 | }
49 | }
50 |
51 | public bool IsMultiValueInResponse {
52 | get {
53 | return (Type & HttpHeaderType.MultiValueInResponse) == HttpHeaderType.MultiValueInResponse;
54 | }
55 | }
56 |
57 | public bool IsRequest {
58 | get {
59 | return (Type & HttpHeaderType.Request) == HttpHeaderType.Request;
60 | }
61 | }
62 |
63 | public bool IsResponse {
64 | get {
65 | return (Type & HttpHeaderType.Response) == HttpHeaderType.Response;
66 | }
67 | }
68 |
69 | public string Name { get; set; }
70 |
71 | public HttpHeaderType Type { get; set; }
72 |
73 | #endregion
74 |
75 | #region Methods
76 |
77 | public bool IsMultiValue (bool response)
78 | {
79 | return (Type & HttpHeaderType.MultiValue) != HttpHeaderType.MultiValue
80 | ? response
81 | ? IsMultiValueInResponse
82 | : IsMultiValueInRequest
83 | : response
84 | ? IsResponse
85 | : IsRequest;
86 | }
87 |
88 | public bool IsRestricted (bool response)
89 | {
90 | return (Type & HttpHeaderType.Restricted) != HttpHeaderType.Restricted
91 | ? false
92 | : response
93 | ? IsResponse
94 | : IsRequest;
95 | }
96 |
97 | #endregion
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Net/HttpHeaderType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // HttpHeaderType.cs
3 | //
4 | // Authors:
5 | // sta (sta.blockhead@gmail.com)
6 | //
7 | // Copyright (c) 2013 sta.blockhead
8 | //
9 | // Permission is hereby granted, free of charge, to any person obtaining
10 | // a copy of this software and associated documentation files (the
11 | // "Software"), to deal in the Software without restriction, including
12 | // without limitation the rights to use, copy, modify, merge, publish,
13 | // distribute, sublicense, and/or sell copies of the Software, and to
14 | // permit persons to whom the Software is furnished to do so, subject to
15 | // the following conditions:
16 | //
17 | // The above copyright notice and this permission notice shall be
18 | // included in all copies or substantial portions of the Software.
19 | //
20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 | //
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp.Net {
32 |
33 | [Flags]
34 | enum HttpHeaderType
35 | {
36 | Unspecified = 0,
37 | Request = 1,
38 | Response = 1 << 1,
39 | Restricted = 1 << 2,
40 | MultiValue = 1 << 3,
41 | MultiValueInRequest = 1 << 4,
42 | MultiValueInResponse = 1 << 5
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Net/HttpListenerException.cs:
--------------------------------------------------------------------------------
1 | //
2 | // HttpListenerException.cs
3 | // Copied from System.Net.HttpListenerException.cs
4 | //
5 | // Author:
6 | // Gonzalo Paniagua Javier (gonzalo@novell.com)
7 | //
8 | // Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
9 | //
10 | // Permission is hereby granted, free of charge, to any person obtaining
11 | // a copy of this software and associated documentation files (the
12 | // "Software"), to deal in the Software without restriction, including
13 | // without limitation the rights to use, copy, modify, merge, publish,
14 | // distribute, sublicense, and/or sell copies of the Software, and to
15 | // permit persons to whom the Software is furnished to do so, subject to
16 | // the following conditions:
17 | //
18 | // The above copyright notice and this permission notice shall be
19 | // included in all copies or substantial portions of the Software.
20 | //
21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 | //
29 |
30 | using System;
31 | using System.ComponentModel;
32 | using System.Runtime.Serialization;
33 |
34 | namespace WebSocketSharp.Net {
35 |
36 | ///
37 | /// The exception that is thrown when an error occurs processing an HTTP request.
38 | ///
39 | [Serializable]
40 | public class HttpListenerException : Win32Exception {
41 |
42 | #region Public Constructors
43 |
44 | ///
45 | /// Initializes a new instance of the class.
46 | ///
47 | public HttpListenerException ()
48 | {
49 | }
50 |
51 | ///
52 | /// Initializes a new instance of the class
53 | /// with the specified .
54 | ///
55 | ///
56 | /// An that contains an error code.
57 | ///
58 | public HttpListenerException (int errorCode) : base (errorCode)
59 | {
60 | }
61 |
62 | ///
63 | /// Initializes a new instance of the class
64 | /// with the specified and .
65 | ///
66 | ///
67 | /// An that contains an error code.
68 | ///
69 | ///
70 | /// A that describes the error.
71 | ///
72 | public HttpListenerException (int errorCode, string message) : base (errorCode, message)
73 | {
74 | }
75 |
76 | #endregion
77 |
78 | #region Protected Constructor
79 |
80 | ///
81 | /// Initializes a new instance of the class
82 | /// from the specified and classes.
83 | ///
84 | ///
85 | /// A that contains the information required to deserialize
86 | /// the new object.
87 | ///
88 | ///
89 | /// A .
90 | ///
91 | protected HttpListenerException (SerializationInfo serializationInfo, StreamingContext streamingContext) : base (serializationInfo, streamingContext)
92 | {
93 | }
94 |
95 | #endregion
96 |
97 | #region Property
98 |
99 | ///
100 | /// Gets a value that represents the error that occurred.
101 | ///
102 | ///
103 | /// An that contains an error code.
104 | ///
105 | public override int ErrorCode {
106 | get { return base.ErrorCode; }
107 | }
108 |
109 | #endregion
110 | }
111 | }
112 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Net/HttpStreamAsyncResult.cs:
--------------------------------------------------------------------------------
1 | //
2 | // HttpStreamAsyncResult.cs
3 | // Copied from System.Net.HttpStreamAsyncResult.cs
4 | //
5 | // Authors:
6 | // Gonzalo Paniagua Javier (gonzalo@novell.com)
7 | //
8 | // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
9 | //
10 | // Permission is hereby granted, free of charge, to any person obtaining
11 | // a copy of this software and associated documentation files (the
12 | // "Software"), to deal in the Software without restriction, including
13 | // without limitation the rights to use, copy, modify, merge, publish,
14 | // distribute, sublicense, and/or sell copies of the Software, and to
15 | // permit persons to whom the Software is furnished to do so, subject to
16 | // the following conditions:
17 | //
18 | // The above copyright notice and this permission notice shall be
19 | // included in all copies or substantial portions of the Software.
20 | //
21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28 | //
29 |
30 | using System;
31 | using System.Threading;
32 |
33 | namespace WebSocketSharp.Net {
34 |
35 | class HttpStreamAsyncResult : IAsyncResult {
36 |
37 | #region Private Fields
38 |
39 | bool completed;
40 | ManualResetEvent handle;
41 | object locker = new object ();
42 |
43 | #endregion
44 |
45 | #region Internal Fields
46 |
47 | internal AsyncCallback Callback;
48 | internal int Count;
49 | internal byte [] Buffer;
50 | internal Exception Error;
51 | internal int Offset;
52 | internal object State;
53 | internal int SyncRead;
54 |
55 | #endregion
56 |
57 | #region Properties
58 |
59 | public object AsyncState {
60 | get { return State; }
61 | }
62 |
63 | public WaitHandle AsyncWaitHandle {
64 | get {
65 | lock (locker) {
66 | if (handle == null)
67 | handle = new ManualResetEvent (completed);
68 | }
69 |
70 | return handle;
71 | }
72 | }
73 |
74 | public bool CompletedSynchronously {
75 | get { return (SyncRead == Count); }
76 | }
77 |
78 | public bool IsCompleted {
79 | get {
80 | lock (locker) {
81 | return completed;
82 | }
83 | }
84 | }
85 |
86 | #endregion
87 |
88 | #region Public Methods
89 |
90 | public void Complete ()
91 | {
92 | lock (locker) {
93 | if (completed)
94 | return;
95 |
96 | completed = true;
97 | if (handle != null)
98 | handle.Set ();
99 |
100 | if (Callback != null)
101 | Callback.BeginInvoke (this, null, null);
102 | }
103 | }
104 |
105 | public void Complete (Exception e)
106 | {
107 | Error = e;
108 | Complete ();
109 | }
110 |
111 | #endregion
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Net/HttpVersion.cs:
--------------------------------------------------------------------------------
1 | //
2 | // HttpVersion.cs
3 | // Copied from System.Net.HttpVersion.cs
4 | //
5 | // Author:
6 | // Lawrence Pit (loz@cable.a2000.nl)
7 | //
8 | // Permission is hereby granted, free of charge, to any person obtaining
9 | // a copy of this software and associated documentation files (the
10 | // "Software"), to deal in the Software without restriction, including
11 | // without limitation the rights to use, copy, modify, merge, publish,
12 | // distribute, sublicense, and/or sell copies of the Software, and to
13 | // permit persons to whom the Software is furnished to do so, subject to
14 | // the following conditions:
15 | //
16 | // The above copyright notice and this permission notice shall be
17 | // included in all copies or substantial portions of the Software.
18 | //
19 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 | //
27 |
28 | using System;
29 |
30 | namespace WebSocketSharp.Net {
31 |
32 | ///
33 | /// Provides the HTTP version numbers.
34 | ///
35 | public class HttpVersion {
36 |
37 | ///
38 | /// Provides a instance for HTTP 1.0.
39 | ///
40 | public static readonly Version Version10 = new Version (1, 0);
41 |
42 | ///
43 | /// Provides a instance for HTTP 1.1.
44 | ///
45 | public static readonly Version Version11 = new Version (1, 1);
46 |
47 | ///
48 | /// Initializes a new instance of the class.
49 | ///
50 | public HttpVersion () {}
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Net/Security/SslStream.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * SslStream.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 | using System.Net.Security;
31 | using System.Net.Sockets;
32 |
33 | namespace WebSocketSharp.Net.Security {
34 |
35 | internal class SslStream : System.Net.Security.SslStream
36 | {
37 | #region Public Constructors
38 |
39 | public SslStream(NetworkStream innerStream)
40 | : base(innerStream)
41 | {
42 | }
43 |
44 | public SslStream(NetworkStream innerStream, bool leaveInnerStreamOpen)
45 | : base(innerStream, leaveInnerStreamOpen)
46 | {
47 | }
48 |
49 | public SslStream(
50 | NetworkStream innerStream,
51 | bool leaveInnerStreamOpen,
52 | RemoteCertificateValidationCallback userCertificateValidationCallback
53 | ) : base(innerStream, leaveInnerStreamOpen, userCertificateValidationCallback)
54 | {
55 | }
56 |
57 | public SslStream(
58 | NetworkStream innerStream,
59 | bool leaveInnerStreamOpen,
60 | RemoteCertificateValidationCallback userCertificateValidationCallback,
61 | LocalCertificateSelectionCallback userCertificateSelectionCallback
62 | ) : base(
63 | innerStream,
64 | leaveInnerStreamOpen,
65 | userCertificateValidationCallback,
66 | userCertificateSelectionCallback
67 | )
68 | {
69 | }
70 |
71 | #endregion
72 |
73 | #region Public Properties
74 |
75 | public bool DataAvailable {
76 | get {
77 | return ((NetworkStream)InnerStream).DataAvailable;
78 | }
79 | }
80 |
81 | #endregion
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Opcode.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * Opcode.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | ///
34 | /// Contains the values of the opcodes that denotes the frame type of the WebSocket frame.
35 | ///
36 | ///
37 | /// The Opcode enumeration contains the values of the opcodes defined in
38 | /// RFC 6455 for the WebSocket protocol.
39 | ///
40 | public enum Opcode : byte
41 | {
42 | ///
43 | /// Equivalent to numeric value 0. Indicates a continuation frame.
44 | ///
45 | CONT = 0x0,
46 | ///
47 | /// Equivalent to numeric value 1. Indicates a text frame.
48 | ///
49 | TEXT = 0x1,
50 | ///
51 | /// Equivalent to numeric value 2. Indicates a binary frame.
52 | ///
53 | BINARY = 0x2,
54 | ///
55 | /// Equivalent to numeric value 8. Indicates a connection close frame.
56 | ///
57 | CLOSE = 0x8,
58 | ///
59 | /// Equivalent to numeric value 9. Indicates a ping frame.
60 | ///
61 | PING = 0x9,
62 | ///
63 | /// Equivalent to numeric value 10. Indicates a pong frame.
64 | ///
65 | PONG = 0xa
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Rsv.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * Rsv.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | internal enum Rsv : byte
34 | {
35 | OFF = 0x0,
36 | ON = 0x1
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Server/HttpRequestEventArgs.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * HttpRequestEventArgs.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 | using WebSocketSharp.Net;
31 |
32 | namespace WebSocketSharp.Server {
33 |
34 | ///
35 | /// Contains the event data associated with the HTTP request events of the class.
36 | ///
37 | ///
38 | /// An HTTP request event occurs when a instance receives an HTTP request.
39 | /// If you want to get the HTTP request objects, you should access the property.
40 | /// If you want to get the HTTP response objects to send, you should access the property.
41 | ///
42 | public class HttpRequestEventArgs : EventArgs
43 | {
44 | #region Internal Constructors
45 |
46 | internal HttpRequestEventArgs(HttpListenerContext context)
47 | {
48 | Request = context.Request;
49 | Response = context.Response;
50 | }
51 |
52 | #endregion
53 |
54 | #region Public Properties
55 |
56 | ///
57 | /// Gets the HTTP request objects sent from a client.
58 | ///
59 | ///
60 | /// A that contains the HTTP request objects.
61 | ///
62 | public HttpListenerRequest Request { get; private set; }
63 |
64 | ///
65 | /// Gets the HTTP response objects to send to the client in response to the client's request.
66 | ///
67 | ///
68 | /// A that contains the HTTP response objects.
69 | ///
70 | public HttpListenerResponse Response { get; private set; }
71 |
72 | #endregion
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Server/IServiceHost.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * IServiceHost.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 | using WebSocketSharp.Net.WebSockets;
31 |
32 | namespace WebSocketSharp.Server {
33 |
34 | ///
35 | /// Exposes the methods and property for the host that provides a .
36 | ///
37 | ///
38 | ///
39 | public interface IServiceHost {
40 |
41 | ///
42 | /// Gets or sets a value indicating whether the WebSocket service host cleans up the inactive service clients periodically.
43 | ///
44 | ///
45 | /// true if the WebSocket service host cleans up the inactive service clients periodically; otherwise, false.
46 | ///
47 | bool Sweeped { get; set; }
48 |
49 | ///
50 | /// Binds the specified to a instance.
51 | ///
52 | ///
53 | /// A that contains the WebSocket connection request objects to bind.
54 | ///
55 | void BindWebSocket(WebSocketContext context);
56 |
57 | ///
58 | /// Broadcasts the specified to all service clients.
59 | ///
60 | ///
61 | /// A to broadcast.
62 | ///
63 | void Broadcast(string data);
64 |
65 | ///
66 | /// Starts the WebSocket service host.
67 | ///
68 | void Start();
69 |
70 | ///
71 | /// Stops the WebSocket service host.
72 | ///
73 | void Stop();
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/Server/ServiceHostManager.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * ServiceHostManager.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 | using System.Collections.Generic;
31 |
32 | namespace WebSocketSharp.Server {
33 |
34 | internal class ServiceHostManager {
35 |
36 | #region Private Fields
37 |
38 | private Dictionary _svcHosts;
39 | private bool _sweeped;
40 |
41 | #endregion
42 |
43 | #region Public Constructors
44 |
45 | public ServiceHostManager()
46 | {
47 | _svcHosts = new Dictionary();
48 | _sweeped = true;
49 | }
50 |
51 | #endregion
52 |
53 | #region Public Properties
54 |
55 | public int Count {
56 | get {
57 | return _svcHosts.Count;
58 | }
59 | }
60 |
61 | public IEnumerable Paths {
62 | get {
63 | return _svcHosts.Keys;
64 | }
65 | }
66 |
67 | public IEnumerable ServiceHosts {
68 | get {
69 | return _svcHosts.Values;
70 | }
71 | }
72 |
73 | public bool Sweeped {
74 | get {
75 | return _sweeped;
76 | }
77 |
78 | set {
79 | if (_sweeped ^ value)
80 | {
81 | _sweeped = value;
82 | foreach (var svcHost in _svcHosts.Values)
83 | svcHost.Sweeped = value;
84 | }
85 | }
86 | }
87 |
88 | #endregion
89 |
90 | #region Public Methods
91 |
92 | public void Add(string absPath, IServiceHost svcHost)
93 | {
94 | _svcHosts.Add(absPath.UrlDecode(), svcHost);
95 | }
96 |
97 | public void Broadcast(string data)
98 | {
99 | foreach (var svcHost in _svcHosts.Values)
100 | svcHost.Broadcast(data);
101 | }
102 |
103 | public void Stop()
104 | {
105 | foreach (var svcHost in _svcHosts.Values)
106 | svcHost.Stop();
107 |
108 | _svcHosts.Clear();
109 | }
110 |
111 | public bool TryGetServiceHost(string absPath, out IServiceHost svcHost)
112 | {
113 | return _svcHosts.TryGetValue(absPath, out svcHost);
114 | }
115 |
116 | #endregion
117 | }
118 | }
119 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/WebSocketException.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * WebSocketException.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2012-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | ///
34 | /// Represents the exception that occurred when attempting to perform an operation on the WebSocket connection.
35 | ///
36 | public class WebSocketException : Exception
37 | {
38 | #region Internal Constructors
39 |
40 | internal WebSocketException()
41 | : this(CloseStatusCode.ABNORMAL)
42 | {
43 | }
44 |
45 | internal WebSocketException(CloseStatusCode code)
46 | : this(code, code.GetMessage())
47 | {
48 | }
49 |
50 | internal WebSocketException(CloseStatusCode code, string message)
51 | : base(message)
52 | {
53 | Code = code;
54 | }
55 |
56 | #endregion
57 |
58 | #region Public Properties
59 |
60 | ///
61 | /// Gets the associated with a .
62 | ///
63 | ///
64 | /// One of the values that indicates the cause of the exception.
65 | ///
66 | public CloseStatusCode Code {
67 | get; private set;
68 | }
69 |
70 | #endregion
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/WebSockets/WsState.cs:
--------------------------------------------------------------------------------
1 | #region License
2 | /*
3 | * WsState.cs
4 | *
5 | * The MIT License
6 | *
7 | * Copyright (c) 2010-2013 sta.blockhead
8 | *
9 | * Permission is hereby granted, free of charge, to any person obtaining a copy
10 | * of this software and associated documentation files (the "Software"), to deal
11 | * in the Software without restriction, including without limitation the rights
12 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | * copies of the Software, and to permit persons to whom the Software is
14 | * furnished to do so, subject to the following conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be included in
17 | * all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 | * THE SOFTWARE.
26 | */
27 | #endregion
28 |
29 | using System;
30 |
31 | namespace WebSocketSharp {
32 |
33 | ///
34 | /// Contains the values of the state of the WebSocket connection.
35 | ///
36 | ///
37 | /// The WsState enumeration contains the values of the state of the WebSocket connection defined in
38 | /// The WebSocket API.
39 | ///
40 | public enum WsState : ushort
41 | {
42 | ///
43 | /// Equivalent to numeric value 0. Indicates that the connection has not yet been established.
44 | ///
45 | CONNECTING = 0,
46 | ///
47 | /// Equivalent to numeric value 1. Indicates that the connection is established and communication is possible.
48 | ///
49 | OPEN = 1,
50 | ///
51 | /// Equivalent to numeric value 2. Indicates that the connection is going through the closing handshake, or the Close method has been invoked.
52 | ///
53 | CLOSING = 2,
54 | ///
55 | /// Equivalent to numeric value 3. Indicates that the connection has been closed or could not be opened.
56 | ///
57 | CLOSED = 3
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/fastJSON/Formatter.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Text;
3 |
4 | namespace fastJSON
5 | {
6 | internal static class Formatter
7 | {
8 | public static string Indent = " ";
9 |
10 | public static void AppendIndent(StringBuilder sb, int count)
11 | {
12 | for (; count > 0; --count) sb.Append(Indent);
13 | }
14 |
15 | public static bool IsEscaped(StringBuilder sb, int index)
16 | {
17 | bool escaped = false;
18 | while (index > 0 && sb[--index] == '\\') escaped = !escaped;
19 | return escaped;
20 | }
21 |
22 | public static string PrettyPrint(string input)
23 | {
24 | var output = new StringBuilder(input.Length * 2);
25 | char? quote = null;
26 | int depth = 0;
27 |
28 | for (int i = 0; i < input.Length; ++i)
29 | {
30 | char ch = input[i];
31 |
32 | switch (ch)
33 | {
34 | case '{':
35 | case '[':
36 | output.Append(ch);
37 | if (!quote.HasValue)
38 | {
39 | output.AppendLine();
40 | AppendIndent(output, ++depth);
41 | }
42 | break;
43 | case '}':
44 | case ']':
45 | if (quote.HasValue)
46 | output.Append(ch);
47 | else
48 | {
49 | output.AppendLine();
50 | AppendIndent(output, --depth);
51 | output.Append(ch);
52 | }
53 | break;
54 | case '"':
55 | case '\'':
56 | output.Append(ch);
57 | if (quote.HasValue)
58 | {
59 | if (!IsEscaped(output, i))
60 | quote = null;
61 | }
62 | else quote = ch;
63 | break;
64 | case ',':
65 | output.Append(ch);
66 | if (!quote.HasValue)
67 | {
68 | output.AppendLine();
69 | AppendIndent(output, depth);
70 | }
71 | break;
72 | case ':':
73 | if (quote.HasValue) output.Append(ch);
74 | else output.Append(" : ");
75 | break;
76 | default:
77 | if (quote.HasValue || !char.IsWhiteSpace(ch))
78 | output.Append(ch);
79 | break;
80 | }
81 | }
82 |
83 | return output.ToString();
84 | }
85 | }
86 | }
--------------------------------------------------------------------------------
/LOVC/Thirtparty/fastJSON/Getters.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace fastJSON
5 | {
6 | public sealed class DatasetSchema
7 | {
8 | public List Info { get; set; }
9 | public string Name { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/LOVC/Thirtparty/fastJSON/SafeDictionary.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace fastJSON
5 | {
6 | internal sealed class SafeDictionary
7 | {
8 | private readonly object _Padlock = new object();
9 | private readonly Dictionary _Dictionary;
10 |
11 | public SafeDictionary(int capacity)
12 | {
13 | _Dictionary = new Dictionary(capacity);
14 | }
15 |
16 | public SafeDictionary()
17 | {
18 | _Dictionary = new Dictionary();
19 | }
20 |
21 | public bool TryGetValue(TKey key, out TValue value)
22 | {
23 | lock (_Padlock)
24 | return _Dictionary.TryGetValue(key, out value);
25 | }
26 |
27 | public TValue this[TKey key]
28 | {
29 | get
30 | {
31 | lock (_Padlock)
32 | return _Dictionary[key];
33 | }
34 | set
35 | {
36 | lock (_Padlock)
37 | _Dictionary[key] = value;
38 | }
39 | }
40 |
41 | public void Add(TKey key, TValue value)
42 | {
43 | lock (_Padlock)
44 | {
45 | if (_Dictionary.ContainsKey(key) == false)
46 | _Dictionary.Add(key, value);
47 | }
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/Gamedata/Rooms/model1.json:
--------------------------------------------------------------------------------
1 | [
2 | [
3 | [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
4 | [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
5 | [-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
6 | [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
7 | [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
8 | [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
9 | ],
10 |
11 | [
12 | [0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],
13 | [0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],
14 | [3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],
15 | [0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],
16 | [0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],
17 | [0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]
18 | ],
19 |
20 | [
21 | [0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
22 | [0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
23 | [0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
24 | [0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
25 | [0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
26 | [0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
27 | ],
28 |
29 | [
30 | [0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8],
31 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
32 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
33 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
34 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
35 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
36 | ]
37 | ]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/Gamedata/Rooms/model1.map:
--------------------------------------------------------------------------------
1 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 | -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 | 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 |
8 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
9 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
10 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
11 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
12 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
13 | 0 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
14 |
15 | 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 | 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17 | 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18 | 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 | 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20 | 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
21 |
22 | 0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8
23 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
25 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/LOVC/bin/Debug/Gamedata/Rooms/model2.map:
--------------------------------------------------------------------------------
1 | 1 0 0 0 0 0 0 0 0 0
2 | 1 0 0 0 0 0 0 0 0 0
3 | -1 0 0 1 1 1 0 0 0 0
4 | 1 0 0 1 1 1 0 0 0 0
5 | 1 0 0 0 0 0 0 0 0 0
6 | 1 0 0 0 0 0 0 0 0 0
7 | 1 0 1 0 1 1 1 1 1 1
8 | 1 0 0 0 1 1 1 1 1 1
9 |
10 | 0 3 3 3 3 3 3 3 3 3
11 | 0 3 3 3 3 3 3 3 3 3
12 | 3 3 3 0 0 0 3 3 3 3
13 | 0 3 3 0 0 0 3 3 3 3
14 | 0 3 3 3 3 3 3 3 3 3
15 | 0 3 3 3 3 3 3 3 3 3
16 | 0 3 0 3 0 0 0 0 0 0
17 | 0 3 3 3 0 0 0 0 0 0
18 |
19 | 0 4 0 0 0 0 0 0 0 0
20 | 0 4 0 0 0 0 0 0 0 0
21 | 0 6 0 0 0 0 0 0 0 0
22 | 0 4 0 0 0 0 0 0 0 0
23 | 0 4 0 0 0 0 0 0 0 0
24 | 0 4 0 0 0 0 0 0 0 0
25 | 0 4 0 0 0 0 0 0 0 0
26 | 0 5 0 0 0 0 0 0 0 0
27 |
28 | 0 7 7 7 7 7 7 7 7 8
29 | 0 0 0 0 0 0 0 0 0 0
30 | 0 0 0 0 0 0 0 0 0 0
31 | 0 0 0 0 0 0 0 0 0 0
32 | 0 0 0 0 0 0 0 0 0 0
33 | 0 0 0 0 0 0 0 0 0 0
34 | 0 0 0 0 0 0 0 0 0 0
35 | 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/LOVC/bin/Debug/Gamedata/Rooms/model3.map:
--------------------------------------------------------------------------------
1 | 1 0 0 0 0 0 0 0 0 0
2 | -1 0 0 0 0 0 0 0 0 0
3 | 1 0 0 0 0 0 0 0 0 0
4 | 1 0 0 0 0 0 0 0 0 0
5 | 1 0 0 0 0 0 0 0 0 0
6 | 1 0 0 0 0 0 0 0 0 0
7 |
8 | 0 3 3 3 3 3 3 3 3 3
9 | 3 3 3 3 3 3 3 3 3 3
10 | 0 3 3 3 3 3 3 3 3 3
11 | 0 3 3 3 3 3 3 3 3 3
12 | 0 3 3 3 3 3 3 3 3 3
13 | 0 3 3 3 3 3 3 3 3 3
14 |
15 | 0 4 0 0 0 0 0 0 0 0
16 | 0 6 0 0 0 0 0 0 0 0
17 | 0 4 0 0 0 0 0 0 0 0
18 | 0 4 0 0 0 0 0 0 0 0
19 | 0 4 0 0 0 0 0 0 0 0
20 | 0 5 0 0 0 0 0 0 0 0
21 |
22 | 0 7 7 7 7 7 7 7 7 8
23 | 0 0 0 0 0 0 0 0 0 0
24 | 0 0 0 0 0 0 0 0 0 0
25 | 0 0 0 0 0 0 0 0 0 0
26 | 0 0 0 0 0 0 0 0 0 0
27 | 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/LOVC/bin/Debug/Gamedata/Rooms/model4.map:
--------------------------------------------------------------------------------
1 | 1 0 0 0 1 0 0 0 0 0
2 | 1 0 0 0 1 0 0 0 0 0
3 | 1 1 1 1 1 0 0 0 0 0
4 | 1 0 0 0 0 0 0 0 0 0
5 | -1 0 0 0 0 0 0 0 0 0
6 | 1 0 0 0 0 0 0 0 0 0
7 | 1 0 0 0 0 0 0 0 0 0
8 | 1 0 0 0 0 0 0 0 0 0
9 | 1 0 0 0 0 0 0 0 0 0
10 |
11 | 0 0 0 0 0 3 3 3 3 3
12 | 0 0 0 0 0 3 3 3 3 3
13 | 0 0 0 0 0 3 3 3 3 3
14 | 0 3 3 3 3 3 3 3 3 3
15 | 3 3 3 3 3 3 3 3 3 3
16 | 0 3 3 3 3 3 3 3 3 3
17 | 0 3 3 3 3 3 3 3 3 3
18 | 0 3 3 3 3 3 3 3 3 3
19 | 0 3 3 3 3 3 3 3 3 3
20 |
21 | 0 0 0 0 0 4 0 0 0 0
22 | 0 0 0 0 0 4 0 0 0 0
23 | 0 0 0 0 0 4 0 0 0 0
24 | 0 4 0 0 0 0 0 0 0 0
25 | 0 6 0 0 0 0 0 0 0 0
26 | 0 4 0 0 0 0 0 0 0 0
27 | 0 4 0 0 0 0 0 0 0 0
28 | 0 4 0 0 0 0 0 0 0 0
29 | 0 5 0 0 0 0 0 0 0 0
30 |
31 | 0 0 0 0 0 7 7 7 7 8
32 | 0 0 0 0 0 0 0 0 0 0
33 | 0 0 0 0 0 0 0 0 0 0
34 | 0 7 7 7 7 0 0 0 0 0
35 | 0 0 0 0 0 0 0 0 0 0
36 | 0 0 0 0 0 0 0 0 0 0
37 | 0 0 0 0 0 0 0 0 0 0
38 | 0 0 0 0 0 0 0 0 0 0
39 | 0 0 0 0 0 0 0 0 0 0
--------------------------------------------------------------------------------
/LOVC/bin/Debug/LOVC.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/LOVC.exe
--------------------------------------------------------------------------------
/LOVC/bin/Debug/LOVC.exe.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/LOVC.exe.mdb
--------------------------------------------------------------------------------
/LOVC/bin/Debug/LOVC.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/LOVC.pdb
--------------------------------------------------------------------------------
/LOVC/bin/Debug/LOVC.vshost.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/LOVC.vshost.exe
--------------------------------------------------------------------------------
/LOVC/bin/Debug/LOVC.vshost.exe.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/css/default.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Default page body and demo CSS structure
3 | * also includes styles overwriting bootstrap defaults
4 | **/
5 | body {
6 | background-color: #eef3f6;
7 | }
8 |
9 | #w {
10 | margin-top: 45px;
11 | padding: 20px 11px;
12 | background: #fff;
13 | -webkit-border-radius: 4px;
14 | -moz-border-radius: 4px;
15 | border-radius: 4px;
16 | -webkit-box-shadow: 0 1px 6px -1px rgba(0,0,0,0.7);
17 | -moz-box-shadow: 0 1px 6px -1px rgba(0,0,0,0.7);
18 | box-shadow: 0 1px 6px -1px rgba(0,0,0,0.7);
19 | }
20 |
21 | /** Bootstrap Dark Modal Styles **/
22 | .modal-open .modal, .btn:focus {
23 | outline: none !important;
24 | }
25 |
26 | .modal.dark { background-color: #2d3032; }
27 | .modal.dark .modal-body {
28 | background: #40464b;
29 | }
30 |
31 | .modal.dark .modal-header {
32 | background: #2d3032;
33 | border-bottom: 1px solid #2a2c2e;
34 | }
35 | .modal.dark .modal-header h1, .modal.dark .modal-header h2, .modal.dark .modal-header h3, .modal.dark .modal-header h4 {
36 | color: #ccc;
37 | }
38 |
39 | .modal.dark .modal-footer {
40 | background: #2d3032;
41 | border-top: 1px solid #2a2c2e;
42 | -webkit-box-shadow: none;
43 | -moz-box-shadow: none;
44 | box-shadow: none;
45 | }
46 |
47 |
48 | /**
49 | * Custom CSS3 Checkboxes for modal windows
50 | * Source: http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/quick-tip-easy-css3-checkboxes-and-radio-buttons/
51 | **/
52 | input[type="checkbox"] { display: none; }
53 | input[type="checkbox"] + label { color: #f2f2f2; font-size: 14px; }
54 |
55 | input[type="checkbox"] + label span {
56 | display: inline-block;
57 | width: 19px;
58 | height: 19px;
59 | margin: -1px 4px 0 0;
60 | vertical-align: middle;
61 | background: url('check_radio_sheet.png') left top no-repeat;
62 | cursor: pointer;
63 | }
64 |
65 | input[type="checkbox"]:checked + label span {
66 | background: url('check_radio_sheet.png') -19px top no-repeat;
67 | }
68 |
69 | input[type="radio"] { display: none; }
70 |
71 | input[type="radio"] + label { color: #f2f2f2; font-size: 14px; }
72 |
73 | input[type="radio"] + label span {
74 | display: inline-block;
75 | width: 19px;
76 | height: 19px;
77 | margin: -1px 4px 0 0;
78 | vertical-align: middle;
79 | background: url('check_radio_sheet.png') -38px top no-repeat;
80 | cursor: pointer;
81 | }
82 |
83 | input[type="radio"]:checked + label span {
84 | background: url('check_radio_sheet.png') -57px top no-repeat;
85 | }
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/css/terminal.css:
--------------------------------------------------------------------------------
1 | .terminal .terminal-output .format, .terminal .cmd .format,
2 | .terminal .cmd .prompt, .terminal .cmd .prompt div, .terminal .terminal-output div div{
3 | display: inline-block;
4 | }
5 | .terminal .clipboard {
6 | position: absolute;
7 | bottom: 0;
8 | left: 0;
9 | opacity: 0.01;
10 | filter: alpha(opacity = 0.01);
11 | filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0.01);
12 | width: 2px;
13 | }
14 | .cmd > .clipboard {
15 | position: fixed;
16 | }
17 | .terminal {
18 | padding: 10px;
19 | position: relative;
20 | overflow: hidden;
21 | }
22 | .cmd {
23 | padding: 0;
24 | margin: 0;
25 | height: 1.3em;
26 | margin-top: 3px;
27 | }
28 | .terminal .terminal-output div div, .terminal .prompt {
29 | display: block;
30 | line-height: 14px;
31 | height: auto;
32 | }
33 | .terminal .prompt {
34 | float: left;
35 | }
36 |
37 | .terminal {
38 | font-family: FreeMono, monospace;
39 | color: #aaa;
40 | background-color: #000;
41 | font-size: 12px;
42 | line-height: 14px;
43 | }
44 | .terminal-output > div {
45 | padding-top: 3px;
46 | }
47 | .terminal .terminal-output div span {
48 | display: inline-block;
49 | }
50 | .terminal .cmd span {
51 | float: left;
52 | /*display: inline-block; */
53 | }
54 | .terminal .cmd span.inverted {
55 | background-color: #aaa;
56 | color: #000;
57 | }
58 | .terminal .terminal-output div div::-moz-selection,
59 | .terminal .terminal-output div span::-moz-selection,
60 | .terminal .terminal-output div div a::-moz-selection {
61 | background-color: #aaa;
62 | color: #000;
63 | }
64 | .terminal .terminal-output div div::selection,
65 | .terminal .terminal-output div div a::selection,
66 | .terminal .terminal-output div span::selection,
67 | .terminal .cmd > span::selection,
68 | .terminal .prompt span::selection {
69 | background-color: #aaa;
70 | color: #000;
71 | }
72 | .terminal .terminal-output div.error, .terminal .terminal-output div.error div {
73 | color: red;
74 | }
75 | .tilda {
76 | position: fixed;
77 | top: 0;
78 | left: 0;
79 | width: 100%;
80 | z-index: 1100;
81 | }
82 | .clear {
83 | clear: both;
84 | }
85 | .terminal a {
86 | color: #0F60FF;
87 | }
88 | .terminal a:hover {
89 | color: red;
90 | }
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/font/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/font/FontAwesome.otf
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/font/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/font/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/font/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/font/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/font/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/font/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/clothes/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/clothes/1.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/clothes/1.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/clothes/1.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/0.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/0.png.json:
--------------------------------------------------------------------------------
1 | [[16,53],[22,22],[23,21],[30,15],[32,14],[44,14],[46,15],[49,18],[51,22],[54,31],[60,56],[60,58],[59,76],[53,103],[52,104],[24,104],[23,103],[18,90],[16,65]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/1.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/3.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/3.png.json:
--------------------------------------------------------------------------------
1 | [[16,53],[22,22],[23,21],[30,15],[32,14],[44,14],[46,15],[49,18],[51,22],[54,31],[60,56],[60,58],[59,76],[53,103],[52,104],[24,104],[23,103],[18,90],[16,65]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r2.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r2.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r3.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r3.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r4.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r4.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r5.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r5.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r6.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r6.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r7.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r7.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r7.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r8.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/Character_r8.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/DENFER.png.json:
--------------------------------------------------------------------------------
1 | [[250,55],[256,24],[257,23],[264,17],[266,16],[278,16],[280,17],[283,20],[285,24],[288,33],[293,55],[293,58],[291,73],[285,99],[282,102],[279,104],[272,104],[263,100],[257,97],[252,92],[250,67]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/DENFER2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/DENFER2.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/LOVC_Character.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/LOVC_Character.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/actor1m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/actor1m.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/box.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/box.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/char.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/char.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/char.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/char.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/char_sit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/char_sit.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/char_sit.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/char_sit.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/female.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/female.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/head.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/head.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/head/Character.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/head/Character.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/headMask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/headMask.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/headMask.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/headMask.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/loading.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/loading.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/loading.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/male.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/male.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/r.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/rel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/rel.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/character/model/sit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/character/model/sit.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/00.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/18316.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/18316.jpg
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/76448_492257947485034_478192062_n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/76448_492257947485034_478192062_n.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/BE2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/BE2.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/BOT.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/BOT.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/Untitled-1.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/Untitled-1.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/Untitled-2.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/Untitled-2.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/Z63.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/Z63.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/block.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block.png.json:
--------------------------------------------------------------------------------
1 | [[0,15],[30,0],[33,0],[63,15],[63,23],[33,38],[30,38],[0,23]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/block.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/block2.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block2.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/block2.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block_x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/block_x.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block_x.png.json:
--------------------------------------------------------------------------------
1 | [[96,124],[126,109],[129,109],[159,124],[159,132],[129,147],[126,147],[96,132]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block_x.png.poly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/block_x.png.poly.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/block_x.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/block_x.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/box.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/box.png.json:
--------------------------------------------------------------------------------
1 | [[0,15],[30,0],[33,0],[63,15],[63,48],[33,63],[30,63],[0,48]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/box.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/box.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/char.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/char.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/compass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/compass.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/computer_laptop.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/computer_laptop.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/computer_laptop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/computer_laptop.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/desk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/desk.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/desk.png.json:
--------------------------------------------------------------------------------
1 | [[34,50],[96,19],[97,19],[127,34],[127,37],[125,70],[65,100],[63,100],[37,87],[36,86],[34,53]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/desk.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/desk.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/desk_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/desk_1.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/fFspT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/fFspT.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/form.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/hc2_carpet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/hc2_carpet.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/hc2_carpet.png.json:
--------------------------------------------------------------------------------
1 | [[1,42],[2,41],[81,1],[86,1],[89,2],[233,74],[233,77],[151,118],[147,118],[144,117],[2,46],[1,45]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/jszq84 — копия.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/jszq84 — копия.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/jszq84.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/jszq84.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/laptop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/laptop.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/laptop.png.json:
--------------------------------------------------------------------------------
1 | [[47,74],[65,65],[66,65],[82,84],[82,85],[64,94],[62,94],[54,90],[51,87],[47,75]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/navbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/navbar.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/navbar.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/navbar.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallhy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallhy.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallhy.png.json:
--------------------------------------------------------------------------------
1 | [[24,23],[54,8],[57,8],[63,11],[63,44],[33,59],[30,59],[24,56]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallx.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallx.png.json:
--------------------------------------------------------------------------------
1 | [[64,12],[65,12],[103,31],[103,154],[97,157],[94,157],[64,142]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallx_e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallx_e.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxd.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxd.png.json:
--------------------------------------------------------------------------------
1 | [[24,23],[62,4],[63,4],[63,134],[33,149],[30,149],[24,146]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy2.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy2.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy_e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy_e.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy_e.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy_e.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy_ne.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwallxy_ne.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwally.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwally.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwally.png.json:
--------------------------------------------------------------------------------
1 | [[24,31],[62,12],[63,12],[63,142],[33,157],[30,157],[24,154]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwally.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwally.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwally_e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwally_e.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/rwally_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/rwally_h.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/screen.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/screen2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/screen2.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofa.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/sofa.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/sofa.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofa.png.json:
--------------------------------------------------------------------------------
1 | [[47,37],[48,36],[100,10],[103,9],[110,9],[113,10],[123,15],[128,20],[131,26],[133,32],[134,36],[134,58],[132,60],[78,87],[75,88],[69,88],[66,87],[48,78],[47,77]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofa.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/sofa.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/sofar.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofar.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/sofar.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofax.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/sofax.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofax.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/sofax.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/sofaxd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/sofaxd.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/tile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/tile.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/tile.png.json:
--------------------------------------------------------------------------------
1 | [[0,16],[32,0],[33,0],[65,16],[65,17],[33,33],[32,33],[0,17]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/tile.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/tile.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/vcity_x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/vcity_x.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/waasa_desk.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/waasa_desk.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/waasa_desk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/waasa_desk.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/waasa_table_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/waasa_table_1.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall.png.json:
--------------------------------------------------------------------------------
1 | [[0,0],[1,0],[63,31],[63,154],[57,157],[54,157],[0,130]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_rx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall_rx.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_rx.png.json:
--------------------------------------------------------------------------------
1 | [[0,0],[1,0],[39,19],[39,150],[33,153],[32,153],[0,131]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall_x.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_x.png.json:
--------------------------------------------------------------------------------
1 | [[120,11],[121,11],[167,34],[167,128],[161,131],[158,131],[120,112]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_x.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall_x.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_x2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall_x2.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_x2.png.json:
--------------------------------------------------------------------------------
1 | [[88,23],[134,0],[135,0],[135,112],[97,131],[94,131],[88,128]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_xy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall_xy.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_xy.png.json:
--------------------------------------------------------------------------------
1 | [[88,23],[126,4],[129,4],[167,23],[167,117],[161,120],[94,120],[88,117]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_xy.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall_xy.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_y.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wall_y.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wall_y.png.json:
--------------------------------------------------------------------------------
1 | [[88,34],[134,11],[135,11],[135,112],[97,131],[94,131],[88,128]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallf.png.json:
--------------------------------------------------------------------------------
1 | [[57,0],[58,0],[104,23],[104,146],[98,149],[95,149],[57,130]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallf.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wallf.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallfx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wallfx.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallfxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wallfxy.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallfxy.png.json:
--------------------------------------------------------------------------------
1 | [[25,23],[63,4],[66,4],[104,23],[104,146],[98,149],[31,149],[25,146]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallfxy.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wallfxy.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallfy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wallfy.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallfy.png.json:
--------------------------------------------------------------------------------
1 | [[25,23],[71,0],[72,0],[72,130],[34,149],[31,149],[25,146]]
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallfy.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wallfy.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wally.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wally.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wally.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wally.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/crud/wallye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/crud/wallye.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/furni/area_sofa.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "area_sofa",
3 | "sprite": "/furni/area_sofa.png",
4 | "size": [70, 82],
5 | "isoSize": 2,
6 | "type": "seat",
7 | "map":
8 | {
9 | "origin": [0,32],
10 | "height": 41,
11 | "sides":
12 | [
13 | {
14 | "0x1":
15 | [
16 | { "frame": [0,0], "offset": [-1, -24], "origin": [0,40] },
17 | { "frame": [1,0], "offset": [-1, -24] }
18 | ],
19 | "0x0":
20 | [
21 | { "frame": [2,0], "offset": [-1, -24] }
22 | ]
23 | },
24 |
25 | {
26 | "0x0":
27 | [
28 | { "frame": [2,1], "offset": [-5, -33], "origin": [0,40] },
29 | { "frame": [1,1], "offset": [-5, -33] }
30 | ],
31 | "-1x0":
32 | [
33 | { "frame": [0,1], "offset": [-5, -33] }
34 | ]
35 | },
36 |
37 | {
38 | "0x0":
39 | [
40 | { "frame": [2,2], "offset": [-18, -16], "origin": [0,0] },
41 | { "frame": [0,2], "offset": [-3, -35], "origin": [45,45] }
42 | ],
43 | "0x-1":
44 | [
45 | { "frame": [1,2], "offset": [-25, -30], "origin": [45,45] }
46 | ]
47 | },
48 |
49 | {
50 | "1x0":
51 | [
52 | { "frame": [0,3], "offset": [14, -15], "origin": [0,0] },
53 | { "frame": [2,3], "offset": [-1, -35], "origin": [45,45] }
54 | ],
55 | "0x0":
56 | [
57 | { "frame": [1,3], "offset": [21, -30], "origin": [45,45] }
58 | ]
59 | }
60 | ]
61 | }
62 | }
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/furni/area_sofa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/furni/area_sofa.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/furni/picture.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "mona",
3 | "sprite": "/furni/picture.png",
4 | "size": [40, 71],
5 | "isoSize": 1,
6 | "type": "none",
7 | "map":
8 | {
9 | "origin": [0,16],
10 | "height": 40,
11 | "sides":
12 | [
13 | {
14 | "0x0":
15 | [
16 | { "frame": [0,0], "offset": [0,71] }
17 | ]
18 | },
19 |
20 | {
21 | "0x0":
22 | [
23 | { "frame": [1,0], "offset": [0,71] }
24 | ]
25 | }
26 | ]
27 | }
28 | }
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/furni/picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/furni/picture.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/gui/box_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/gui/box_btn.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/gui/chat-bubble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/gui/chat-bubble.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/gui/games_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/gui/games_btn.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/gui/head.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/gui/head.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/gui/rooms.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/gui/rooms.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/gui/shark_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/gui/shark_btn.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/gui/spider_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/gui/spider_btn.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/gamedata/gui/star_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/gamedata/gui/star_btn.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/imagesx/black-icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/imagesx/black-icons.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/imagesx/vCity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/imagesx/vCity.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/imagesx/vCity.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/imagesx/vCity.psd
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/imagesx/vk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/imagesx/vk.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/imagesx/white-icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/imagesx/white-icons.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/imagesx/wiDeYHqa-4o.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/imagesx/wiDeYHqa-4o.jpg
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/img/load.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/img/load.gif
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
26 |
27 |
28 |
32 |
33 | null
34 |
35 |
37 |
38 | ЛОВЦ
39 |
40 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Actor.js:
--------------------------------------------------------------------------------
1 | function Actor(id, w, h){
2 | if(DEBUG)
3 | console.log("Create actor " + id);
4 | var $this = this;
5 | this.name = "";
6 | this.id = id;
7 | this.w = w ? w : ACTOR_WIDTH / 5;
8 | this.h = h ? h : ACTOR_HEIGHT / 5;
9 | this.actorModel = "@ActorModel::"+id;
10 | this.animationSpeed = 12;
11 | this.side = "SE";
12 | this.step = null;
13 | this.position = [0,0,0];
14 | if(typeof Actor._models !== "object") Actor._models = {};
15 | if(typeof Actor._models[this.actorModel] === "undefined"){
16 | var model_map = {};
17 | model_map[this.actorModel] = [0,0];
18 | Actor._models[id] = Crafty.sprite(this.w,this.h,format(CHARACTER_URL, id)+"?v="+VERSION,model_map);
19 | }
20 | this.entity = Crafty.e("2D, " + RENDER + ", " + this.actorModel + ", Keyboard, Tween, Isometric, SpriteAnimation")
21 | .animate("Watch_SE", 0, 0, 0)
22 | .animate("Watch_SW", 0, 1, 0)
23 | .animate("Watch_NE", 0, 2, 0)
24 | .animate("Watch_NW", 0, 3, 0)
25 |
26 | .animate("Walk_SE", 1, 0, 4)
27 | .animate("Walk_SW", 1, 1, 4)
28 | .animate("Walk_NE", 1, 2, 4)
29 | .animate("Walk_NW", 1, 3, 4)
30 |
31 | .animate("Sit_SE", 0, 4, 0)
32 | .animate("Sit_SW", 1, 4, 1)
33 | .animate("Sit_NE", 2, 4, 2)
34 | .animate("Sit_NW", 3, 4, 3)
35 |
36 | .bind("MoveStep", function(e){
37 | $this.side = e.direction;
38 | $this.step = e;
39 | var animationDirection = "Walk_" + e.direction;
40 | if(!this.isPlaying(animationDirection)){
41 | this.reset();
42 | this.animate(animationDirection, $this.animationSpeed, -1);
43 | }
44 | $this.position = e.to;
45 | })
46 |
47 | .bind("MoveDone", function(){
48 | $this.setWatchAnimation($this.side);
49 | var obj = GameObject.objects[$this.position[0]+"x"+$this.position[1]+"x"+$this.position[2]];
50 | if(typeof obj === "object"){
51 | if(typeof obj.onInteract === "function")
52 | obj.onInteract($this);
53 | this.trigger("ObjectInteraction", obj);
54 | }
55 | })
56 |
57 | .bind("MoveChange", function(){
58 | $this.setWatchAnimation($this.side);
59 | })
60 |
61 | .isometric()
62 | .iso.set({
63 | "h": 80,
64 | "origin": [0,120],
65 | "objOffset": [0,86]
66 | });
67 |
68 | this.getReverseDirection = function(side){
69 | if(typeof side !== "string")
70 | side = this.side;
71 | if(side == "SE")
72 | return "NW";
73 | if(side == "NW")
74 | return "SE";
75 | if(side == "NE")
76 | return "SW";
77 | if(side == "SW")
78 | return "NE";
79 | return "SE";
80 | };
81 |
82 | this.destroy = function(){
83 | this.entity.destroy();
84 | };
85 |
86 | this.setName = function(name){
87 | this.name = name;
88 | return this;
89 | };
90 |
91 | this.say = function(message, mode){
92 | if(DEBUG)
93 | console.log("[chat] Actor " + id + " "+(function(){ if(mode == 1) return "Shout"; else if(mode == 2) return "Whisper"; return "Say" })()+": " + message);
94 | // chatbox.println(id, message);
95 | Crafty.e("ChatBubble").text(message, mode).attr({"x": $this.entity.x, "y": $this.entity.y}).center().float();
96 | };
97 |
98 | this.attr = function(e){
99 | this.entity.attr(e);
100 | return this;
101 | };
102 |
103 | this.move = function(x, y, path){
104 | return $this.entity.move(x,y,path);
105 | };
106 |
107 | this.setStaticAnimation = function(name){
108 | if(DEBUG)
109 | console.log("Set actor "+ id +" animation to " + name);
110 | this.entity.animate(name, $this.animationSpeed, 0);
111 | return this;
112 | };
113 |
114 | this.setSitAnimation = function(direction){
115 | this.setStaticAnimation('Sit_'+direction.trim().toUpperCase());
116 | };
117 |
118 | this.setWalkAnimation = function(direction){
119 | this.setStaticAnimation('Walk_'+direction.trim().toUpperCase());
120 | };
121 |
122 | this.setWatchAnimation = function(direction){
123 | this.setStaticAnimation('Watch_'+direction.trim().toUpperCase());
124 | };
125 |
126 | this.setWatchAnimation(this.side);
127 | }
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Block.js:
--------------------------------------------------------------------------------
1 | function Block(id){ this.init(id); }
2 | Block.list = {};
3 |
4 | Block.type = {
5 | SPAWN: -1,
6 | AIR: 0,
7 | SOLID: 1,
8 | CAMERA: 2
9 | };
10 |
11 | Block.prototype.init = function(id){
12 | this.id = id;
13 | this.entity = null;
14 | this.parent = null;
15 | this.attr = {
16 | polygon: null,
17 | height: null,
18 | sprite: null,
19 | flip: [],
20 | props: {},
21 | components: {},
22 | events: {},
23 | collide: {},
24 | offset: [0,0],
25 | origin: [0,0],
26 | clr: [0,0],
27 | isoOffset: [0,0],
28 | placeOffset: [0,0]
29 | };
30 | Block.list[id] = this;
31 | };
32 |
33 | Block.prototype.getEntity = function(){
34 | return this.entity;
35 | };
36 |
37 | Block.prototype.build = function(){
38 | var entity = Crafty.e("2D, "+(ORIGIN_DEBUG ? "Draggable, " : "")+", "+RENDER+", "+(this.attr.polygon !== null ? "Collision, " : "")+"Isometric, " + (this.attr.components.length > 0 ? ", " + this.attr.components.join(', ') : "")+", "+this.attr.sprite)
39 | .isometric();
40 | if(this.attr.polygon !== null)
41 | entity.collision.apply(entity, JSON.parse(this.attr.polygon));
42 | for(var i = 0; i < this.attr.flip.length; i++)
43 | entity.flip(this.attr.flip[i].toUpperCase().trim());
44 | for(var key in this.attr.props)
45 | if(this.attr.props.hasOwnProperty(key))
46 | entity[key] = this.attr.props[key];
47 | for(var event in this.attr.events)
48 | if(this.attr.events.hasOwnProperty(event))
49 | entity.bind(event.trim(), this.attr.events[event]);
50 | for(var target in this.attr.collide)
51 | if(this.attr.collide.hasOwnProperty(target))
52 | if(this.attr.collide[target].length > 1)
53 | entity.onHit(target.trim(), this.attr.collide[target][0], this.attr.collide[target][1]);
54 | else
55 | entity.onHit(target.trim(), this.attr.collide[target][0], this.attr.collide[target][1]);
56 | entity.iso.set({
57 | "offset": this.attr.offset,
58 | "h": this.attr.height,
59 | "origin": this.attr.origin,
60 | "clrOffset": this.attr.clr,
61 | "isoOffset": this.attr.isoOffset,
62 | "placeOffset": this.attr.placeOffset
63 | });
64 | entity.blockId = this.id;
65 | entity.parent = this;
66 | if(ORIGIN_DEBUG){
67 | entity.debug = {};
68 | entity
69 | .bind("StartDrag", function(){
70 | if(typeof this.debug.origin === "undefined")
71 | this.debug.origin = [this.x, this.y];
72 | this.alpha = 0.5;
73 | })
74 | .bind("StopDrag", function(){
75 | console.debug("Origin: ", this.debug.origin[0] - this.x, this.debug.origin[1] - this.y);
76 | this.alpha = 1;
77 | });
78 | }
79 | this.entity = entity;
80 | return entity;
81 | };
82 |
83 | Block.prototype.set = function(attr){
84 | for(var attrName in attr)
85 | if(attr.hasOwnProperty(attrName))
86 | if(typeof this.attr[attrName] !== "undefined")
87 | this.attr[attrName] = attr[attrName];
88 | return this;
89 | };
90 |
91 | Block.create = function(id, attr){
92 | return new Block(id).set(attr);
93 | };
94 |
95 | Block.extend = function(id, fid){
96 | return Block.create(id, Block.get(fid) !== null ? Block.get(fid).attr : {} );
97 | };
98 |
99 | Block.get = function(id){
100 | if(typeof Block.list[id] !== "undefined")
101 | return Block.list[id];
102 | return null;
103 | };
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/.gitignore:
--------------------------------------------------------------------------------
1 | .*.sw?
2 | .DS_store
3 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/README.md:
--------------------------------------------------------------------------------
1 | # CraftyBox2D
2 | It's a component that facilitates the use of the Physics Engine Box2D in [Crafty](http://craftyjs.com/). The Box2D implementation
3 | that the component use is [box2dweb](http://code.google.com/p/box2dweb/).
4 |
5 | ***
6 |
7 | ##Using CraftyBox2D
8 | First you must init the box2dWorld as follow
9 |
10 | Crafty.box2D.init(0, 10, 32, true);
11 |
12 |
13 | The above code initialize the world with 0 for the world gravity in the x-axis, 10 for the world gravity in the y-axis
14 | 32 for the pixel-to-meter ratio, and allow the world sleep. The init method also attach the world.steep() function tho
15 | the stage "EnterFrame" event
16 |
17 | Once the world has been initialized, you can start to add entitys with the Box2D component
18 |
19 |
20 | // Setup floor
21 | var floor = Crafty.e("2D, Canvas, Box2D")
22 | .attr({ x: 0, y: 0})
23 | .box2d({
24 | bodyType: 'static',
25 | shape: [
26 | [0, 300],
27 | [400, 300]
28 | ]
29 | });
30 |
31 | // Add simple box
32 | var box = Crafty.e("2D, Canvas, Color, Box2D")
33 | .attr({ x: 0, y: 0, w:20, h:20})
34 | .color("#FF0000")
35 | .box2d({
36 | bodyType: 'dynamic'
37 | });
38 |
39 |
40 | Above first we create the floor, set the bodyType to static, and set the collition box in the botom of the stage
41 | then we create a box with 20x20 pixels, red color and set the body type to dynamic and left the collition area to
42 | the default values. Running the game a see the box falling to the floor.
43 |
44 | the are more options that you can set, please see the demo game code for more.
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/changelog.txt:
--------------------------------------------------------------------------------
1 | v0.1 - 28/01/2012
2 |
3 | * First release
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/demo1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | .::Crafty Demo::.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/demo2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | .::Crafty Demo > Drop Box::.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/demo3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | .::Crafty Demo > Drop Box::.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/demo4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | .::Crafty Demo::.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/img/ball.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/scripts/Box2D/img/ball.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/img/shapes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/scripts/Box2D/img/shapes.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/img/shapesBig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/scripts/Box2D/img/shapesBig.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/img/turret.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/scripts/Box2D/img/turret.png
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CraftyBox2d",
3 | "version": "0.2",
4 | "title": "Crafty Box2D component",
5 | "author": {
6 | "name": "Jhean Ceballos",
7 | "url": "http://zombirriondo.com/"
8 | },
9 | "licenses": [
10 | {
11 | "type": "MIT",
12 | "url": "http://www.opensource.org/licenses/mit-license.php"
13 | },
14 | {
15 | "type": "GPL",
16 | "url": "http://www.opensource.org/licenses/gpl-license.php"
17 | }
18 | ],
19 | "description": "CraftyBox2d is a component that facilitates the use of the Physics Engine Box2D.",
20 | "keywords": [
21 | "framework",
22 | "javascript"
23 | ],
24 | "jsfiddle" : "http://jsfiddle.net/shogoki_vnz/ksUhA/102/embedded/",
25 | "homepage": "https://github.com/shogoki-vnz/CraftyBox2D",
26 | "files": [
27 | "box2d.js"
28 | ]
29 | }
30 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | .::Crafty Demo::.
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Box2D/test.js:
--------------------------------------------------------------------------------
1 | window.onload = function () {
2 | gameInit();
3 | };
4 |
5 | gameInit = function(){
6 | //start crafty
7 | Crafty.init(400, 300);
8 | Crafty.canvas.init();
9 | Crafty.box2D.init(0, 10, 32, true);
10 |
11 | var floor = Crafty.e("2D, Canvas, Box2D")
12 | .attr({ x: 0, y: 0})
13 | .box2d({
14 | bodyType: 'static',
15 | shape: [
16 | [0, 300],
17 | [400, 300]
18 | ]
19 | });
20 |
21 | var box = Crafty.e("2D, Canvas, Color, Box2D")
22 | .attr({ x: 0, y: 0, w:20, h:20})
23 | .color("#FF0000")
24 | .box2d({
25 | bodyType: 'dynamic'
26 | });
27 | }
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Chat_bak.js:
--------------------------------------------------------------------------------
1 | Crafty.c("ChatInput", {
2 | id: 0,
3 | init: function(){
4 | var $this = this;
5 | this.id++;
6 | if(!this.has("2D"))
7 | this.addComponent("2D");
8 | if(!this.has("HTML"))
9 | this.addComponent("HTML");
10 | if(!this.has("DOM"))
11 | this.addComponent("DOM");
12 | if(!this.has("HUD"))
13 | this.addComponent("HUD");
14 | this.domId = "MessageInput_"+this.id;
15 | var offset = CHAT_INPUT_OFFSET;
16 | this.Head = Crafty.e("2D, " + RENDER + ", @ActorModel::DENFER2:Head").attr({"x": 20, "z":GUI_Z,"w":78,"h":128,"y": GAME_HEIGHT - offset - 25});
17 | this.replace('').attr({"x": offset + 32, "y": GAME_HEIGHT - offset});
18 | this.$dom = $("#"+this.domId+" > input[type=text]");
19 | this.$dom.css("max-width", GAME_WIDTH - this.x - offset);
20 | this.$dom.focus(input.pause);
21 | this.$dom.blur(input.resume);
22 | this.$dom.bind("change paste keydown keyup", function(){
23 | var Label = $(".MessageInput > label");
24 | Label.html("["+escapeHtml(this.value).split(' ').join(' ')+"]");
25 | this.style.width = (Label.width()+5) + "px";
26 | });
27 | this.$dom.keydown(function(e){
28 | if(e.keyCode == 13){
29 | var val = this.value;
30 | this.value = "";
31 | if(val.trim().length <= 0) return;
32 | var mode = 0;
33 | if(e.altKey)
34 | mode = 2;
35 | else if(e.shiftKey)
36 | mode = 1;
37 | $this.trigger("ChatSay", {"mode": mode, "message": val});
38 | }
39 | });
40 | this.bind("ChatSay", function(e){
41 | Crafty.e("ChatBubble").text(e.message, e.mode).attr({"x": player.entity.x, "y": player.entity.y}).center().float();
42 | });
43 | }
44 | });
45 |
46 | Crafty.c("ChatBubble", {
47 | stack: [],
48 | init: function(){
49 | if(!this.has("2D"))
50 | this.addComponent("2D");
51 | if(!this.has("Tween"))
52 | this.addComponent("Tween");
53 | if(!this.has("HTML"))
54 | this.addComponent("HTML");
55 | if(!this.has("DOM"))
56 | this.addComponent("DOM");
57 | this.h = 20;
58 | this.stack_id = this.stack.length;
59 | this.domId = "ChatMessage_" + this.stack.length;
60 | this.css("visibility", "hidden");
61 | this.replace('
');
62 | this.$dom = $("#" + this.domId);
63 | this.stack.push(this);
64 | },
65 |
66 | text: function(text, mode){
67 | if(!mode) mode = "Normal";
68 | else if(mode == 1) mode = "Shout";
69 | else if(mode == 2) mode = "Whisper";
70 | this.$dom.html(replaceLinks(escapeHtml(text)));
71 | this.$dom.addClass("ChatMessage-" + mode);
72 | return this;
73 | },
74 |
75 | center: function(){
76 | this.x = this.x - (this.$dom.width()/2) + 12;
77 | return this;
78 | },
79 |
80 | float: function(){
81 | var $this = this;
82 | this.alpha = 1;
83 | this.alpha_down = false;
84 | for(var i = 0; i < this.stack.length; i++)
85 | if(typeof this.stack[i] == "object")
86 | this.stack[i].y -= $this.h;
87 | this.timer = setInterval(function(){
88 | $this.y -= $this.h;
89 | if($this.y < -$this.h){
90 | $this.$dom.remove();
91 | $this.destroy();
92 | clearInterval($this.timer);
93 | delete $this.stack[$this.stack_id];
94 | }
95 | if($this.y < $this.h && !$this.alpha_down){
96 | $this.alpha_down = true;
97 | $this.tween({"alpha":0}, 40);
98 | }
99 | }, 3000);
100 | }
101 | });
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/HUD.js:
--------------------------------------------------------------------------------
1 | Crafty.c("HUD", {
2 | init: function() {
3 | if (this.has("DOM")) {
4 | this._element.parentNode.removeChild(this._element);
5 | Crafty.stage.elem.appendChild(this._element);
6 | this.z = 100;
7 | Crafty.addEvent(this, this._element, "click", function() { });
8 | }
9 | }
10 | });
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/InfoBox.js:
--------------------------------------------------------------------------------
1 | function InfoBox(){
2 | /*
3 |
4 | [Bot] Jimmy
5 |
6 |
7 |
8 |
9 |
10 |
11 | Добавить в друзья
12 | Обмен
13 | Модерация
14 |
15 |
16 | */
17 | this.id = InfoBox.stack.length;
18 | InfoBox.stack.push(this);
19 | this.entity = Crafty.e("2D, DOM, HTML")
20 | .replace('empty')
21 | .attr({"x":GAME_WIDTH-185,"y":GAME_HEIGHT-285});
22 | }
23 |
24 | InfoBox.stack = [];
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Inventory.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/bin/Debug/htdocs/scripts/Inventory.js
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Navigation.js:
--------------------------------------------------------------------------------
1 | Crafty.c("Navigation", {
2 | stack: [],
3 | init: function(){
4 | var $this = this;
5 | if(!this.has("2D"))
6 | this.addComponent("2D");
7 | if(!this.has("HTML"))
8 | this.addComponent("HTML");
9 | if(!this.has("DOM"))
10 | this.addComponent("DOM");
11 | if(!this.has("HUD"))
12 | this.addComponent("HUD");
13 | if(!this.has("Tween"))
14 | this.addComponent("Tween");
15 | this.autoHide = true;
16 | this.closed = true;
17 | this.openX = 0;
18 | this.fixed = false;
19 | this.stack_id = this.stack.length;
20 | this.domId = "TNavBar"+this.stack_id;
21 | this.replace('');
22 | /*
23 |
24 |
25 | Achievements
26 |
27 |
28 |
29 |
30 | Games
31 |
32 |
33 |
34 |
35 | Stuffs
36 |
37 | */
38 | this.$dom = $("#"+this.domId);
39 | this.$dom.mouseenter(function(){
40 | if(!$this.fixed)
41 | $this.open();
42 | }).mouseleave(function(){
43 | if(!$this.fixed)
44 | $this.close();
45 | });
46 | this.bind("TweenEnd", function(){
47 | if(this.x < 0)
48 | this.closed = true;
49 | });
50 | this.stack.push(this);
51 | },
52 |
53 | addLink: function(label, image, onclick){
54 | var link = $(
55 | ''+
56 | '
'+
57 | ''+label+'' +
58 | ''
59 | );
60 | if(typeof onclick === "function")
61 | link.click(onclick);
62 | this.$dom.append(link);
63 | },
64 |
65 | open: function(){
66 | if(this.closed){
67 | this.closedX = this.x;
68 | this.closed = false;
69 | this.tween({"x":this.openX}, 10);
70 | }
71 | },
72 |
73 | close: function(){
74 | if(typeof this.closedX === "number")
75 | this.tween({"x":this.closedX}, 10);
76 | }
77 | });
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Network/Network.js:
--------------------------------------------------------------------------------
1 | var NetworkSocket = window.WebSocket || window.MozWebSocket;
2 |
3 | function Network(channel){
4 | var $this = this;
5 | if(typeof Network.connections[channel] !== "undefined")
6 | return Network.connections[channel];
7 | this.connections = {};
8 | this.functions = {};
9 | this.socket = null;
10 | this.connected = false;
11 | this.reconnect = true;
12 | this.timeout = 5000;
13 |
14 | if(DEBUG)
15 | console.log("[net] Connecting to channel " + channel);
16 |
17 | this.connect = function(){
18 | $this.socket = new NetworkSocket("ws://"+HOST_SOCKET+"/"+channel+"?"+window.location.search.substring(1));
19 | $this.socket.onmessage = function (e) {
20 | if(DEBUG)
21 | console.log("[net]["+channel+"] Message: " + e.data);
22 | var packet = JSON.parse(e.data);
23 | $this.trigger(packet["function"], packet["args"]);
24 | };
25 |
26 | $this.socket.onopen = function (e) {
27 | $this.connected = true;
28 | if(DEBUG)
29 | console.log("[net]["+channel+"] Connected ", e);
30 | $this.trigger("connect", e);
31 | };
32 |
33 | $this.socket.onclose = function (e) {
34 | $this.connected = false;
35 | if(DEBUG)
36 | console.log("[net]["+channel+"] Disconnect ", e);
37 | if($this.reconnect && !e.wasClean)
38 | setTimeout($this.connect, $this.timeout);
39 | $this.trigger("disconnect", e);
40 | };
41 | return this;
42 | };
43 |
44 | this.bind = function(func, callback, self){
45 | if(typeof this.functions[func] !== "object")
46 | this.functions[func] = [];
47 | this.functions[func].push([typeof self === "object" ? self : $this, callback]);
48 | };
49 |
50 | this.trigger = function(func, args){
51 | if(DEBUG)
52 | console.log("[net]["+channel+"] Trigger: "+func+"( ",args," )");
53 | if(typeof $this.functions[func] === "object")
54 | if(typeof $this.functions[func] === "object")
55 | for(var i = 0; i < $this.functions[func].length; i++)
56 | $this.functions[func][i][1].apply($this.functions[func][i][0], args);
57 | };
58 |
59 | this.invoke = function(func){
60 | if(typeof $this.socket !== "object" || !$this.connected) return false;
61 | var args = [];
62 | for(var i = 1; i < arguments.length; i++)
63 | args.push(JSON.stringify(arguments[i]));
64 | $this.socket.send(JSON.stringify({"function": func, "args": args}));
65 | return true;
66 | };
67 |
68 | Network.connections[channel] = this;
69 | }
70 |
71 | Network.get = function(channel){
72 | var connection = Network.connections[channel];
73 | if(typeof connection !== "undefined")
74 | return connection;
75 | return null;
76 | };
77 |
78 | Network.views = 0;
79 |
80 | Network.type = {
81 | "none": 0
82 | };
83 |
84 | Network.connections = {};
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/RealDelay.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * RealDelay Component for CraftyJS
3 | * https://github.com/hugeen/Crafty-RealDelay-component
4 | *
5 | * Copyright 2012 by hugeen.
6 | * Licensed under the MIT license.
7 | */
8 |
9 | /**@
10 | * #RealDelay
11 | * @category Core
12 | * a delay component, can be paused, destroys itself with its entity
13 | */
14 | Crafty.c("RealDelay", {
15 | init : function() {
16 | this._realDelays = [];
17 | this.bind("EnterFrame", function() {
18 | var now = new Date().getTime();
19 | for(var index in this._realDelays) {
20 | var item = this._realDelays[index];
21 | if(!item.triggered && item.start + item.delay + item.pause < now) {
22 | item.triggered=true;
23 | item.func.call(this);
24 | }
25 | }
26 | });
27 | this.bind("Pause", function() {
28 | var now = new Date().getTime();
29 | for(var index in this._realDelays) {
30 | var item = this._realDelays[index];
31 | item.pauseBuffer = now;
32 | }
33 | });
34 | this.bind("Unpause", function() {
35 | var now = new Date().getTime();
36 | for(var index in this._realDelays) {
37 | var item = this._realDelays[index];
38 | item.pause += now-item.pauseBuffer;
39 | }
40 | });
41 | },
42 | /**@
43 | * Set a new delay.
44 | * @param func the callback function
45 | * @param delay the delay in ms
46 | */
47 | realDelay : function(func, delay) {
48 | return this._realDelays.push({
49 | start : new Date().getTime(),
50 | func : func,
51 | delay : delay,
52 | triggered : false,
53 | pauseBuffer: 0,
54 | pause: 0
55 | });
56 | }
57 | });
58 |
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/Sprite.js:
--------------------------------------------------------------------------------
1 | function Sprite(){}
2 | Sprite.list = {};
3 | Sprite.cache = {};
4 | Sprite.id = 0;
5 |
6 | Sprite.get = function(width, height, uri, map){
7 | if(typeof Sprite.list[uri] !== "undefined" && typeof map !== "object")
8 | return Sprite.list[uri];
9 | var id = "SPRITE:"+Sprite.id;
10 | Sprite.id++;
11 | var _map = {};
12 | if(typeof map === "object")
13 | _map = map;
14 | else
15 | _map[id] = [0,0];
16 | if(typeof Sprite.cache[uri] === "undefined")
17 | Sprite.cache[uri] = Crafty.sprite(width,height,GAMEDATA+uri+"?v="+VERSION,_map);
18 | Sprite.list[uri] = id;
19 | if(typeof map === "object"){
20 | var elems = [];
21 | for(var spr in map)
22 | if(map.hasOwnProperty(spr))
23 | elems.push(spr);
24 | return elems;
25 | }
26 | return id;
27 | }
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/SpriteColor.js:
--------------------------------------------------------------------------------
1 | Crafty.c("SpriteColor", {
2 | _color: "rgba(0,0,0,0)",
3 | spriteColor: function(hexcolor, strength){
4 | this._color = Crafty.toRGB(hexcolor,strength);
5 | this.trigger("Change");
6 | return this;
7 | },
8 | _drawSpriteColor: function(){
9 | var co = this.__coord,
10 | ctx = this._spriteColorCanvas.getContext('2d');
11 | ctx.drawImage(this.img,
12 | co[0],
13 | co[1],
14 | co[2],
15 | co[3], 0, 0,
16 | this._w,
17 | this._h
18 | );
19 | ctx.save();
20 | ctx.globalCompositeOperation = "source-in";
21 | ctx.fillStyle = this._color;
22 | ctx.fillRect(0, 0, this._w, this._h);
23 | ctx.restore();
24 | Crafty.canvas.context.drawImage(this._spriteColorCanvas, this._x, this._y);
25 | },
26 | init: function(){
27 | this._spriteColorCanvas = document.getElementById('SpriteColorCanvas');
28 | if (!this._spriteColorCanvas){
29 | var c = document.createElement('canvas');
30 | c.id = 'SpriteColorCanvas';
31 | c.style.display = 'none';
32 | c.style.zIndex = '1000';
33 | Crafty.stage.elem.appendChild(c);
34 | this._spriteColorCanvas = c;
35 | }
36 | this
37 | .bind("Draw", this._drawSpriteColor)
38 | .bind("RemoveComponent", function(c) {
39 | if (c == "SpriteColor") this.unbind("Draw", this._drawSpriteColor);
40 | });
41 | }
42 | });
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/config.js:
--------------------------------------------------------------------------------
1 | var DEBUG = true, ORIGIN_DEBUG = false;
2 |
3 | var RENDER_CANVAS = "Canvas", RENDER_DOM = "DOM";
4 | var RENDER = RENDER_CANVAS;
5 |
6 | var ASTAR_DIAGONAL = false;
7 |
8 | var VERSION = 0;
9 |
10 | var GAME_WIDTH = $(window).width(), GAME_HEIGHT = $(window).height(),
11 | HOST_ADDR = "127.0.0.1";
12 | HOST_URI = 'http://' + HOST_ADDR + ':7172',
13 | HOST_PORT = 7172;
14 | HOST_SOCKET = HOST_ADDR + ':' + HOST_PORT;
15 |
16 | var GAMEDATA = HOST_URI + '/gamedata',
17 | CHARACTER_MODELS = GAMEDATA + '/character/model',
18 | ZBUFFER = 64000;
19 |
20 | var ACTOR_WIDTH = 320, ACTOR_HEIGHT = 640;
21 | // 78x128
22 |
23 | var WALL_SIZE = 123;
24 |
25 | var CHARACTER_URL = HOST_URI+"/gamedata/character/model/{0}.png",
26 | CHARACTER_HEAD_URL = HOST_URI+"/head.php?u={0}&/head.png";
27 |
28 | var MAX_CHAT_LENGTH = 120;
29 | var CHAT_INPUT_OFFSET = 50;
30 |
31 | var GUI_Z = 1000000;
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/core.js:
--------------------------------------------------------------------------------
1 | /**
2 | * References array
3 | * @type {Array}
4 | * @private
5 | */
6 | var _references = [];
7 |
8 | /**
9 | * Include script into project
10 | * @param file
11 | */
12 | function include(/* string */ file){
13 | _references.push(HOST_URI+"/scripts/"+file);
14 | }
15 |
16 | /**
17 | * Main project function
18 | * @param callback Call when initialization is complete
19 | * @returns {null|jQuery|HTMLElement}
20 | */
21 | function main(callback){
22 | if(_references.length <= 0)
23 | return typeof callback === 'function' ? $(callback) : null;
24 | $.getScript(_references.shift(), function(){main(callback);});
25 | return null;
26 | }
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/dterm.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 | $.extend_if_has = function(desc, source, array) {
3 | for (var i=array.length;i--;) {
4 | if (typeof source[array[i]] != 'undefined') {
5 | desc[array[i]] = source[array[i]];
6 | }
7 | }
8 | return desc;
9 | };
10 | $.fn.dterm = function(eval, options) {
11 | var op = $.extend_if_has({}, options,
12 | ['greetings', 'prompt',
13 | 'history', 'clear',
14 | 'exit', 'login',
15 | 'name', 'keypress',
16 | 'keydown', 'onExit',
17 | 'onInit']);
18 |
19 | var term = this.append('').
20 | terminal(eval,op);
21 | if (!options.title) {
22 | options.title = 'JQuery Terminal Emulator';
23 | }
24 | if (options.logoutOnClose) {
25 | options.close = function(e, ui) {
26 | term.logout();
27 | term.clear();
28 | };
29 | } else {
30 | options.close = function(e, ui) {
31 | term.focus(false);
32 | };
33 | }
34 | var self = this;
35 | var dialog = this.dialog($.extend(options, {
36 | resize: function(e, ui) {
37 | var c = self.find('.ui-dialog-content');
38 | term.resize(c.width(), c.height());
39 | },
40 | open: function(e, ui) {
41 | term.focus();
42 | },
43 | closeOnEscape: false
44 | }));
45 | this.terminal = term;
46 | return this;
47 | };
48 | })(jQuery);
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/input.js:
--------------------------------------------------------------------------------
1 | var input = {
2 | listen: true,
3 | pause: function(){
4 | if(DEBUG)
5 | console.log("Pause keyboard listen");
6 | Crafty.removeEvent(Crafty, "keydown", Crafty.keyboardDispatch);
7 | Crafty.removeEvent(Crafty, "keyup", Crafty.keyboardDispatch);
8 | this.listen = false;
9 | },
10 |
11 | resume: function(){
12 | if(DEBUG)
13 | console.log("Resumed keyboard listen");
14 | Crafty.addEvent(Crafty, "keydown", Crafty.keyboardDispatch);
15 | Crafty.addEvent(Crafty, "keyup", Crafty.keyboardDispatch);
16 | this.listen = true;
17 | }
18 | };
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/lang.ru.js:
--------------------------------------------------------------------------------
1 | $l.words = {
2 | "Achievements": "Достижения",
3 | "Chat...": "Чат...",
4 | "Games": "Игры",
5 | "Inventory": "Инвентарь",
6 | "Level": "Уровень",
7 | "Add to friends": "Добавить в друзья",
8 | "Trade": "Обмен",
9 | "Moderate": "Управление",
10 | "Rooms": "Комнаты"
11 | };
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/localization.js:
--------------------------------------------------------------------------------
1 | function $l(word){
2 | var tmp = $l.words[word];
3 | return typeof tmp === "string" ? tmp : word;
4 | }
5 | $l.words = {};
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/mousewheel.js:
--------------------------------------------------------------------------------
1 | /*! Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net)
2 | * Licensed under the MIT License (LICENSE.txt).
3 | *
4 | * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
5 | * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
6 | * Thanks to: Seamus Leahy for adding deltaX and deltaY
7 | *
8 | * Version: 3.1.3
9 | *
10 | * Requires: 1.2.2+
11 | */
12 |
13 | (function (factory) {
14 | if ( typeof define === 'function' && define.amd ) {
15 | // AMD. Register as an anonymous module.
16 | define(['jquery'], factory);
17 | } else if (typeof exports === 'object') {
18 | // Node/CommonJS style for Browserify
19 | module.exports = factory;
20 | } else {
21 | // Browser globals
22 | factory(jQuery);
23 | }
24 | }(function ($) {
25 |
26 | var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'];
27 | var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'];
28 | var lowestDelta, lowestDeltaXY;
29 |
30 | if ( $.event.fixHooks ) {
31 | for ( var i = toFix.length; i; ) {
32 | $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
33 | }
34 | }
35 |
36 | $.event.special.mousewheel = {
37 | setup: function() {
38 | if ( this.addEventListener ) {
39 | for ( var i = toBind.length; i; ) {
40 | this.addEventListener( toBind[--i], handler, false );
41 | }
42 | } else {
43 | this.onmousewheel = handler;
44 | }
45 | },
46 |
47 | teardown: function() {
48 | if ( this.removeEventListener ) {
49 | for ( var i = toBind.length; i; ) {
50 | this.removeEventListener( toBind[--i], handler, false );
51 | }
52 | } else {
53 | this.onmousewheel = null;
54 | }
55 | }
56 | };
57 |
58 | $.fn.extend({
59 | mousewheel: function(fn) {
60 | return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
61 | },
62 |
63 | unmousewheel: function(fn) {
64 | return this.unbind("mousewheel", fn);
65 | }
66 | });
67 |
68 |
69 | function handler(event) {
70 | var orgEvent = event || window.event,
71 | args = [].slice.call(arguments, 1),
72 | delta = 0,
73 | deltaX = 0,
74 | deltaY = 0,
75 | absDelta = 0,
76 | absDeltaXY = 0,
77 | fn;
78 | event = $.event.fix(orgEvent);
79 | event.type = "mousewheel";
80 |
81 | // Old school scrollwheel delta
82 | if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta; }
83 | if ( orgEvent.detail ) { delta = orgEvent.detail * -1; }
84 |
85 | // New school wheel delta (wheel event)
86 | if ( orgEvent.deltaY ) {
87 | deltaY = orgEvent.deltaY * -1;
88 | delta = deltaY;
89 | }
90 | if ( orgEvent.deltaX ) {
91 | deltaX = orgEvent.deltaX;
92 | delta = deltaX * -1;
93 | }
94 |
95 | // Webkit
96 | if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY; }
97 | if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = orgEvent.wheelDeltaX * -1; }
98 |
99 | // Look for lowest delta to normalize the delta values
100 | absDelta = Math.abs(delta);
101 | if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; }
102 | absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX));
103 | if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; }
104 |
105 | // Get a whole value for the deltas
106 | fn = delta > 0 ? 'floor' : 'ceil';
107 | delta = Math[fn](delta / lowestDelta);
108 | deltaX = Math[fn](deltaX / lowestDeltaXY);
109 | deltaY = Math[fn](deltaY / lowestDeltaXY);
110 |
111 | // Add event and delta to the front of the arguments
112 | args.unshift(event, delta, deltaX, deltaY);
113 |
114 | return ($.event.dispatch || $.event.handle).apply(this, args);
115 | }
116 |
117 | }));
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/tilda.js:
--------------------------------------------------------------------------------
1 | (function($) {
2 | $.fn.tilda = function(eval, options) {
3 | var body = $("body");
4 | if (body.data('tilda')) {
5 | return $('body').data('tilda').terminal;
6 | }
7 | this.addClass('tilda');
8 | options = options || {};
9 | eval = eval || function(command, term) {
10 | term.echo("you don't set eval for tilda");
11 | };
12 | var settings = {
13 | prompt: 'tilda> ',
14 | name: 'tilda',
15 | height: 100,
16 | enabled: false,
17 | greetings: 'Quake like console',
18 | keypress: function(e) {
19 | if (e.which == 96) {
20 | return false;
21 | }
22 | }
23 | };
24 | if (options) {
25 | $.extend(settings, options);
26 | }
27 | this.append('');
28 | var self = this;
29 | self.terminal = this.find('.td').terminal(eval, settings);
30 | var focus = false;
31 | $(document.documentElement).keypress(function(e) {
32 | if (e.which == 96) {
33 | self.slideToggle('fast');
34 | self.terminal.focus(focus = !focus);
35 | self.terminal.attr({
36 | scrollTop: self.terminal.attr("scrollHeight")
37 | });
38 | }
39 | });
40 | body.data('tilda', this);
41 | this.hide();
42 | return self;
43 | };
44 | })(jQuery);
--------------------------------------------------------------------------------
/LOVC/bin/Debug/htdocs/scripts/utils.js:
--------------------------------------------------------------------------------
1 | function format(input){
2 | if(arguments.length > 1)
3 | for(var i = 1; i < arguments.length; i++)
4 | input = input.replace("{"+(i-1)+"}", arguments[i]);
5 | return input;
6 | }
7 |
8 | function escapeHtml(text) {
9 | return text
10 | .replace(/&/g, "&")
11 | .replace(//g, ">")
13 | .replace(/"/g, """)
14 | .replace(/'/g, "'");
15 | }
16 |
17 |
18 | function replaceLinks(text){
19 | var exp = /(\b(http|https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
20 | return text.replace(exp,'$1');
21 | }
22 |
23 |
24 | var modal = new (function(){
25 | this._main = $("#modal");
26 | this._title = this._main.find(".modal-header > h3");
27 | this._body = this._main.find(".modal-body");
28 | this._footer = this._main.find(".modal-footer");
29 | this.show = function(title, content, footer){
30 | this._title.html(title);
31 | this._body.html(content);
32 | this._footer.html(footer);
33 | this._main.modal("show");
34 | };
35 | this.hide = function(){
36 | this._main.modal("hide");
37 | this._title.html("");
38 | this._body.html("");
39 | this._footer.html("");
40 | };
41 | this.close = this.hide;
42 | });
43 |
44 | function getQueryArgs() {
45 | var $_GET = {};
46 | var __GET = window.location.search.substring(1).split("&");
47 | for(var i=0; i<__GET.length; i++) {
48 | var getVar = __GET[i].split("=");
49 | $_GET[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1];
50 | }
51 | return $_GET;
52 | }
53 |
54 | function ScrollDown(id){
55 | var doc = document.getElementById(id);
56 | doc.scrollTop = doc.scrollHeight;
57 | }
58 |
59 | function ScrollDownDom(dom){
60 | dom.scrollTop = dom.scrollHeight;
61 | }
--------------------------------------------------------------------------------
/LOVC/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/LOVC/obj/x86/Debug/LOVC.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\bin\Debug\Gamedata\Rooms\model1.map
2 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\bin\Debug\Gamedata\Rooms\model2.map
3 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\bin\Debug\Gamedata\Rooms\model3.map
4 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\bin\Debug\Gamedata\Rooms\model4.map
5 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\bin\Debug\LOVC.exe
6 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\bin\Debug\LOVC.pdb
7 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\obj\x86\Debug\LOVC.csprojResolveAssemblyReference.cache
8 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\obj\x86\Debug\LOVC.exe
9 | C:\Users\DENFER\Downloads\LOVC+Zelectro\LOVC\LOVC\obj\x86\Debug\LOVC.pdb
10 |
--------------------------------------------------------------------------------
/LOVC/obj/x86/Debug/LOVC.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/obj/x86/Debug/LOVC.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/LOVC/obj/x86/Debug/LOVC.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/obj/x86/Debug/LOVC.exe
--------------------------------------------------------------------------------
/LOVC/obj/x86/Debug/LOVC.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/d3n4/LOVC/2d23065b7df2252dbbf00557283986368e98df5b/LOVC/obj/x86/Debug/LOVC.pdb
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | LOVC
2 | ====
3 |
4 | OpenSource Isometric Game Engine Like a Habbo
5 |
6 |
7 | ===
8 | Fast startup:
9 | Run (or compile and run): LOVC\LOVC\bin\Debug\LOVC.exe
10 | then go in browser to:
11 | http://127.0.0.1:7172
12 |
--------------------------------------------------------------------------------