about summary refs log tree commit diff stats
path: root/data/maps/the_nuanced/rooms/Back Room.txtpb
Commit message (Expand)AuthorAgeFilesLines
* Converted puzzle symbols to an enumStar Rauchenberger2025-08-201-7/+7
* Added the_nuancedStar Rauchenberger2025-08-161-0/+51
48bcf35e'>^
8b42622 ^
















e34e14e ^

8b42622 ^


3bfabd2 ^
e34e14e ^



8b42622 ^



e34e14e ^

3bfabd2 ^
e34e14e ^

8b42622 ^




e34e14e ^

8b42622 ^








e34e14e ^
8b42622 ^




e34e14e ^

8b42622 ^




e34e14e ^



8b42622 ^

e34e14e ^

8b42622 ^


e34e14e ^




8b42622 ^





e34e14e ^

8b42622 ^





e34e14e ^



8b42622 ^

b76f083 ^
8b42622 ^
e34e14e ^

8b42622 ^




a912b00 ^
e34e14e ^

8b42622 ^
e34e14e ^

8b42622 ^

3bfabd2 ^
8b42622 ^

e34e14e ^

8b42622 ^



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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139










                                                    
                                
















                                                  

           


                                                                                   
                                                                                               



                              



                                                                   

                                            
                             

                                      




                                                                                                  

                                








                                                                                          
 




                                       

           




                                                



                            

                                   

                                 


                                       




                                            





                                                                                                   

                                   





                                                                              



                          

                                                              
                                                                                    
                                               

                                      




                          
                                                                                                       

               
                          

                                    

                                                                                               
 

                                           

                                



                                                                                           
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.fourisland.instadisc;

import com.fourisland.instadisc.Item.Item;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author hatkirby
 */
public class InstaDiscThread implements Runnable {

    boolean cancelled = false;

    public void cancel() {
        cancelled = true;
    }

    public void run() {
        try
        {
            ServerSocket svr = new ServerSocket();
            java.net.InetSocketAddress addr = new java.net.InetSocketAddress(4444);
            svr.bind(addr);
            Runtime.getRuntime().addShutdownHook(new Thread(new CloseServerSocketThread(svr)));
            while (!cancelled)
            {
                try
                {
                    Socket s = svr.accept();
                    HandleItemThread hit = new HandleItemThread(s);
                    Thread hitt = new Thread(hit);
                    hitt.start();
                } catch (SocketException ex)
                {
                    cancel();
                } catch (Exception ex)
                {
                    cancel();
                    Logger.getLogger(InstaDiscThread.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            svr.close();
        } catch (IOException ex)
        {
            Logger.getLogger(InstaDiscThread.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}

class HandleItemThread implements Runnable {

    Socket s;

    public HandleItemThread(Socket s) {
        this.s = s;
    }

    public void run() {
        try
        {
            InputStream is = s.getInputStream();
            int buffer[] = new int[1000];
            int rs = 0;
            int i = 0;

            while (rs != -1)
            {
                try
                {
                    rs = is.read();

                    if (rs != -1)
                    {
                        buffer[i] = rs;
                    }
                    i++;
                } catch (SocketException ex)
                {
                    return;
                } catch (IOException ex)
                {
                    Logger.getLogger(HandleItemThread.class.getName()).log(Level.SEVERE, null, ex);
                }
            }

            StringBuilder result = new StringBuilder();
            int j = 0;
            for (j = 0; j < i; j++)
            {
                result.append(Character.toString((char) buffer[j]));
            }

            String[] headers = result.toString().split("\n");
            HashMap<String, String> headerMap = new HashMap<String, String>();
            i = 0;
            while (1 == 1)
            {
                try
                {
                    String[] nameVal = headers[i].split(": ");
                    String name = nameVal[0];
                    String value = nameVal[1].trim().replace("__INSTADISC__", ": ");
                    headerMap.put(name, value);
                } catch (Exception ex)
                {
                    break;
                }
                i++;
            }

            //Logger.getLogger(HandleItemThread.class.getName()).log(Level.INFO, headerMap.toString());
            try
            {
                s.close();
            } catch (IOException ex)
            {
                Logger.getLogger(HandleItemThread.class.getName()).log(Level.SEVERE, null, ex);
            }

            Item idI = new Item(headerMap);
            idI.start();
        } catch (IOException ex)
        {
            Logger.getLogger(HandleItemThread.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}