Browse Source

text system overhaul

Philipp 7 years ago
parent
commit
3ed71d0133
79 changed files with 1466 additions and 36 deletions
  1. 74
    2
      assets.makefile
  2. BIN
      assets/interface/arrows.png
  3. BIN
      assets/interface/emoticons.png
  4. BIN
      assets/interface/menu_box.png
  5. BIN
      assets/interface/text_box.png
  6. BIN
      assets/mug/mug_00.png
  7. BIN
      assets/mug/mug_01.png
  8. BIN
      assets/mug/mug_02.png
  9. BIN
      assets/mug/mug_05.png
  10. BIN
      assets/mug/mug_06.png
  11. BIN
      assets/mug/mug_07.png
  12. BIN
      assets/mug/mug_08.png
  13. BIN
      assets/mug/mug_09.png
  14. BIN
      assets/mug/mug_10.png
  15. BIN
      assets/mug/mug_11.png
  16. 5
    1
      bpre.sym
  17. 9
    0
      data/raw_defines.s
  18. 150
    0
      data/text_lookup/text_lookup_array.s
  19. 27
    0
      data/text_lookup/text_multichoice.s
  20. 4
    0
      main.asm
  21. 1
    1
      makefile
  22. 56
    0
      nbproject/configurations.xml
  23. 21
    0
      nbproject/licenseheader.txt
  24. 0
    0
      nbproject/private/CodeAssistancePathMapper.properties
  25. 0
    0
      nbproject/private/Default.properties
  26. 0
    0
      nbproject/private/c_standard_headers_indexer.c
  27. 66
    3
      nbproject/private/configurations.xml
  28. 0
    0
      nbproject/private/cpp_standard_headers_indexer.cpp
  29. 0
    0
      nbproject/private/tools/localhost/Cygwin/g++.exe
  30. 0
    0
      nbproject/private/tools/localhost/Cygwin/gcc.exe
  31. 2
    0
      nbproject/project.properties
  32. 46
    0
      patches/interface.asm
  33. 10
    1
      patches/special.asm
  34. 7
    0
      patches/text_system.asm
  35. 1
    1
      sots-private
  36. 0
    0
      src/debug/debug.c
  37. BIN
      src/include/assets/interface/arrows.img.bin
  38. 24
    0
      src/include/assets/interface/arrows.img.h
  39. BIN
      src/include/assets/interface/emoticons.img.bin
  40. 24
    0
      src/include/assets/interface/emoticons.img.h
  41. BIN
      src/include/assets/interface/menu_box.img.bin
  42. 24
    0
      src/include/assets/interface/menu_box.img.h
  43. BIN
      src/include/assets/interface/text_box.img.bin
  44. 24
    0
      src/include/assets/interface/text_box.img.h
  45. 33
    0
      src/include/assets/mug/mug_00.c
  46. 28
    0
      src/include/assets/mug/mug_00.h
  47. 41
    0
      src/include/assets/mug/mug_01.c
  48. 28
    0
      src/include/assets/mug/mug_01.h
  49. 42
    0
      src/include/assets/mug/mug_02.c
  50. 28
    0
      src/include/assets/mug/mug_02.h
  51. 43
    0
      src/include/assets/mug/mug_05.c
  52. 28
    0
      src/include/assets/mug/mug_05.h
  53. 44
    0
      src/include/assets/mug/mug_06.c
  54. 28
    0
      src/include/assets/mug/mug_06.h
  55. 42
    0
      src/include/assets/mug/mug_07.c
  56. 28
    0
      src/include/assets/mug/mug_07.h
  57. 44
    0
      src/include/assets/mug/mug_08.c
  58. 28
    0
      src/include/assets/mug/mug_08.h
  59. 43
    0
      src/include/assets/mug/mug_09.c
  60. 28
    0
      src/include/assets/mug/mug_09.h
  61. 44
    0
      src/include/assets/mug/mug_10.c
  62. 28
    0
      src/include/assets/mug/mug_10.h
  63. 44
    0
      src/include/assets/mug/mug_11.c
  64. 28
    0
      src/include/assets/mug/mug_11.h
  65. 0
    0
      src/include/battle_fractions.h
  66. 3
    0
      src/include/config.h
  67. 15
    0
      src/include/game_engine.h
  68. 3
    1
      src/include/objects.h
  69. 46
    0
      src/interface/mugshot_table.s
  70. 11
    14
      src/interface/textbox_mugshots.c
  71. 4
    1
      src/specials/custom_specials.c
  72. 2
    2
      src/specials/cutscene_meteor.c
  73. 12
    0
      src/specials/load_text_special.c
  74. 64
    0
      src/specials/script_overrides.c
  75. 8
    8
      string/de/item_data.txt
  76. 14
    0
      string/de/story_text/tundra_hq/globals.txt
  77. 2
    0
      string/de/text.txt
  78. 5
    0
      string/de/text_multichoices.txt
  79. 2
    1
      string/table.tbl

+ 74
- 2
assets.makefile View File

18
 C_MET_METEOR := src/assets/meteor/met_meteor.c
18
 C_MET_METEOR := src/assets/meteor/met_meteor.c
19
 C_AS_T       := src/include/assets/ascii.c
19
 C_AS_T       := src/include/assets/ascii.c
20
 
20
 
21
+PNG_MUG_00    := assets/mug/mug_00.png
22
+PNG_MUG_01    := assets/mug/mug_01.png
23
+PNG_MUG_02    := assets/mug/mug_02.png
24
+PNG_MUG_05    := assets/mug/mug_05.png
25
+PNG_MUG_06    := assets/mug/mug_06.png
26
+PNG_MUG_07    := assets/mug/mug_07.png
27
+PNG_MUG_08    := assets/mug/mug_08.png
28
+PNG_MUG_09    := assets/mug/mug_09.png
29
+PNG_MUG_10   := assets/mug/mug_10.png
30
+PNG_MUG_11   := assets/mug/mug_11.png
31
+
32
+C_MUG_00      := src/include/assets/mug/mug_00.c
33
+C_MUG_01      := src/include/assets/mug/mug_01.c
34
+C_MUG_02      := src/include/assets/mug/mug_02.c
35
+C_MUG_05      := src/include/assets/mug/mug_05.c
36
+C_MUG_06      := src/include/assets/mug/mug_06.c
37
+C_MUG_07      := src/include/assets/mug/mug_07.c
38
+C_MUG_08      := src/include/assets/mug/mug_08.c
39
+C_MUG_09      := src/include/assets/mug/mug_09.c
40
+C_MUG_10      := src/include/assets/mug/mug_10.c
41
+C_MUG_11      := src/include/assets/mug/mug_11.c
42
+
43
+PNG_EMOT      := assets/interface/emoticons.png
44
+PNG_TB        := assets/interface/text_box.png
45
+PNG_MB        := assets/interface/menu_box.png
46
+PNG_ARR       := assets/interface/arrows.png
47
+
48
+B_EMOT        := src/include/assets/interface/emoticons.img.bin
49
+B_TB          := src/include/assets/interface/text_box.img.bin
50
+B_MB          := src/include/assets/interface/menu_box.img.bin
51
+B_ARR         := src/include/assets/interface/arrows.img.bin
52
+
21
 .PHONY: all
53
 .PHONY: all
22
-all: $(C_MET_BG) $(C_MET_SKY) $(C_MET_FG) $(C_MET_CLOUDS) $(C_MET_METEOR) $(C_AS_T)
54
+all: $(C_MET_BG) $(C_MET_SKY) $(C_MET_FG) $(C_MET_CLOUDS) $(C_MET_METEOR) $(C_AS_T) $(C_MUG_00) $(C_MUG_01) $(C_MUG_02) $(C_MUG_05) $(C_MUG_06) $(C_MUG_07) $(C_MUG_08) $(C_MUG_09) $(C_MUG_10) $(C_MUG_11) $(B_EMOT) $(B_TB) $(B_MB) $(B_ARR)
23
 
55
 
24
 
56
 
25
 
57
 
58
 $(C_AS_T): $(PNG_AS_T)
90
 $(C_AS_T): $(PNG_AS_T)
59
 	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
91
 	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
60
 
92
 
61
-	
93
+$(C_MUG_00): $(PNG_MUG_00)
94
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
95
+
96
+$(C_MUG_01): $(PNG_MUG_01)
97
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
98
+
99
+$(C_MUG_02): $(PNG_MUG_02)
100
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
101
+
102
+$(C_MUG_05): $(PNG_MUG_05)
103
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
104
+
105
+$(C_MUG_06): $(PNG_MUG_06)
106
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
107
+
108
+$(C_MUG_07): $(PNG_MUG_07)
109
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
110
+
111
+$(C_MUG_08): $(PNG_MUG_08)
112
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
113
+
114
+$(C_MUG_09): $(PNG_MUG_09)
115
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
116
+
117
+$(C_MUG_10): $(PNG_MUG_10)
118
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
119
+
120
+$(C_MUG_11): $(PNG_MUG_11)
121
+	$(GRIT) $< -gu32 -gzl -gB 4 -gt -p -pu16 -pz! -m! -ftc -o $@
122
+
123
+$(B_EMOT): $(PNG_EMOT)
124
+	$(GRIT) $< -gu32 -gz! -gB 4 -gt -p! -m! -ftb -o $@
125
+
126
+$(B_TB): $(PNG_TB)
127
+	$(GRIT) $< -gu32 -gz! -gB 4 -gt -p! -m! -ftb -o $@
128
+
129
+$(B_MB): $(PNG_MB)
130
+	$(GRIT) $< -gu32 -gz! -gB 4 -gt -p! -m! -ftb -o $@
131
+
132
+$(B_ARR): $(PNG_ARR)
133
+	$(GRIT) $< -gu32 -gz! -gB 4 -gt -p! -m! -ftb -o $@

BIN
assets/interface/arrows.png View File


BIN
assets/interface/emoticons.png View File


BIN
assets/interface/menu_box.png View File


BIN
assets/interface/text_box.png View File


BIN
assets/mug/mug_00.png View File


BIN
assets/mug/mug_01.png View File


BIN
assets/mug/mug_02.png View File


BIN
assets/mug/mug_05.png View File


BIN
assets/mug/mug_06.png View File


BIN
assets/mug/mug_07.png View File


BIN
assets/mug/mug_08.png View File


BIN
assets/mug/mug_09.png View File


BIN
assets/mug/mug_10.png View File


BIN
assets/mug/mug_11.png View File


+ 5
- 1
bpre.sym View File

66
 lcd_io_get = 0x08000AC4|1;
66
 lcd_io_get = 0x08000AC4|1;
67
 flag_decrypt_func = 0x0806E6D1;
67
 flag_decrypt_func = 0x0806E6D1;
68
 var_access = 0x0806E455;
68
 var_access = 0x0806E455;
69
+var_get = 0x0806E569;
70
+var_set = 0x0806E585;
69
 flag_check = 0x0806E6D1;
71
 flag_check = 0x0806E6D1;
70
 get_bs_elem_env_index = 0x0800FC2D;
72
 get_bs_elem_env_index = 0x0800FC2D;
71
 load_battle_screen_elements_1 = 0x0800F261;
73
 load_battle_screen_elements_1 = 0x0800F261;
100
 
102
 
101
 npc_states = 0x02036E38;
103
 npc_states = 0x02036E38;
102
 
104
 
105
+sav_one = 0x03005008;
106
+
103
 weather_turns = 0x02023F48;
107
 weather_turns = 0x02023F48;
104
 battle_type_flags = 0x02022B4C;
108
 battle_type_flags = 0x02022B4C;
105
 battle_active_bank = 0x02023BC4;
109
 battle_active_bank = 0x02023BC4;
147
 
151
 
148
 battle_status3_bits_pbs = 0x02023DFC;
152
 battle_status3_bits_pbs = 0x02023DFC;
149
 
153
 
150
-mugshots = 0x097007E0;
151
 battle_bg_table = 0x0824ee34;
154
 battle_bg_table = 0x0824ee34;
152
 custom_battle_elements = 0x0203FE00;
155
 custom_battle_elements = 0x0203FE00;
153
 
156
 
157
+script_mode_set_stopped = 0x080697FD;
154
 
158
 
155
 mplay_table = 0x084A329C;
159
 mplay_table = 0x084A329C;
156
 
160
 

+ 9
- 0
data/raw_defines.s View File

1
+.align 2
2
+.thumb
3
+.section .rodata
4
+
5
+.global objects
6
+objects:
7
+    .word 0x0202063C
8
+
9
+

+ 150
- 0
data/text_lookup/text_lookup_array.s View File

1
+.align 2
2
+.text
3
+.thumb
4
+
5
+.global get_text_pointer_from_lookup
6
+get_text_pointer_from_lookup:
7
+push {r4-r5, lr}
8
+ldr r0, =sav_one
9
+ldr r0, [r0]
10
+ldrb r4, [r0, #4] @r4 = bank
11
+ldrb r5, [r0, #5] @r5 = map
12
+ldrh r0, =0x800F
13
+ldr r2, =var_get
14
+bl bxr2 @r0 = person id
15
+ldr r1, =text_lookup_array
16
+lsl r3, r4, #2
17
+add r1, r3
18
+ldr r1, [r1]    @load bank
19
+lsl r3, r5, #2
20
+add r1, r3
21
+ldr r1, [r1]    @load map
22
+add r1, #4      @skip the global map pointer
23
+lsl r3, r0, #2
24
+add r1, r3
25
+ldr r1, [r1]    @load person
26
+mov r4, r1
27
+ldrh r0, =0x500C
28
+ldr r2, =var_get
29
+bl bxr2
30
+lsl r0, #2
31
+add r1, r0, r4
32
+ldr r0, [r1, #0] @load specific ID
33
+ldr r1, lp_offset
34
+str r0, [r1]
35
+mov r0, #0
36
+ldr r1, =0x500C
37
+ldr r2, =var_set
38
+bl bxr2
39
+pop {r4-r5}
40
+pop {r1}
41
+bx r1
42
+
43
+.global get_map_pointer_from_lookup
44
+get_map_pointer_from_lookup:
45
+push {r4-r5, lr}
46
+ldr r0, =sav_one
47
+ldr r0, [r0]
48
+ldrb r4, [r0, #4] @r4 = bank
49
+ldrb r5, [r0, #5] @r5 = map
50
+ldr r1, =text_lookup_array
51
+lsl r3, r4, #2
52
+add r1, r3
53
+ldr r1, [r1]    @load bank
54
+lsl r3, r5, #2
55
+add r1, r3
56
+ldr r1, [r1]    @load map
57
+ldr r4, [r1]    @map specific text array
58
+ldrh r0, =0x500C
59
+ldr r2, =var_get
60
+bl bxr2
61
+lsl r0, #2
62
+add r1, r0, r4
63
+ldr r0, [r1, #0] @load specific ID
64
+ldr r1, lp_offset
65
+str r0, [r1]
66
+mov r0, #0
67
+ldr r1, =0x500C
68
+ldr r2, =var_set
69
+bl bxr2
70
+pop {r4-r5}
71
+pop {r1}
72
+bx r1
73
+
74
+bxr2:
75
+bx r2
76
+
77
+.align 2
78
+lp_offset:
79
+    .word 0x03000F14
80
+
81
+.align 2
82
+.section .rodata
83
+.global text_lookup_array
84
+text_lookup_array:
85
+    .word text_bank_zero
86
+    .word text_bank_one
87
+    .word text_bank_two
88
+    .word text_bank_three
89
+    .word text_bank_four
90
+    .word text_bank_five
91
+    .word 0xDEADBEEF
92
+
93
+text_bank_zero:
94
+text_bank_one:
95
+text_bank_two:
96
+text_bank_three:
97
+text_bank_four:
98
+    .word text_bank_zero_map_zero
99
+    .word text_bank_zero_map_one
100
+    .word 0xDEADBEEF
101
+text_bank_five:
102
+    .word text_bank_five_map_zero
103
+    .word 0xDEADBEEF
104
+
105
+text_bank_zero_map_zero:
106
+text_bank_zero_map_one:
107
+    .word text_bank_zero_map_zero_global
108
+    .word text_bank_zero_amp_zero_ev_one
109
+    .word text_bank_zero_amp_zero_ev_two
110
+    .word text_bank_zero_amp_zero_ev_three
111
+    .word text_bank_zero_amp_zero_ev_four
112
+    .word text_bank_zero_amp_zero_ev_five
113
+    .word text_bank_zero_amp_zero_ev_six
114
+    .word text_bank_zero_amp_zero_ev_seven
115
+    .word 0xDEADBEEF
116
+
117
+text_bank_zero_amp_zero_ev_one:
118
+text_bank_zero_amp_zero_ev_two:
119
+text_bank_zero_amp_zero_ev_three:
120
+text_bank_zero_amp_zero_ev_four:
121
+text_bank_zero_amp_zero_ev_five:
122
+text_bank_zero_amp_zero_ev_six:
123
+text_bank_zero_amp_zero_ev_seven:
124
+    .word str_person_test
125
+    .word 0xDEADBEEF
126
+
127
+text_bank_zero_map_zero_global:
128
+    .word str_person_test
129
+    .word str_person_zero
130
+    .word 0xDEADBEEF
131
+
132
+text_bank_five_map_zero:
133
+    .word text_bank_five_map_zero_global
134
+    .word 0xDEADBEEF
135
+
136
+text_bank_five_map_zero_global:
137
+    .word str_tundra_hq_name
138
+    .word str_tundra_hq_0
139
+    .word str_tundra_hq_1
140
+    .word str_tundra_hq_2
141
+    .word str_tundra_hq_3
142
+    .word str_tundra_hq_4
143
+    .word str_tundra_hq_5
144
+    .word str_tundra_hq_6
145
+    .word str_tundra_hq_7
146
+    .word str_tundra_hq_8
147
+    .word str_tundra_hq_9
148
+    .word str_tundra_hq_10
149
+    .word str_tundra_hq_11
150
+    .word str_tundra_hq_12

+ 27
- 0
data/text_lookup/text_multichoice.s View File

1
+.section .rodata
2
+.align 2
3
+
4
+.thumb
5
+
6
+.global multichoice_array
7
+multichoice_array:
8
+    .word smc_yes_no
9
+    .word 2
10
+
11
+    .word smc_difficulty
12
+    .word 3
13
+
14
+
15
+smc_yes_no:
16
+    .word str_yes
17
+    .word 0
18
+    .word str_no
19
+    .word 0
20
+
21
+smc_difficulty:
22
+    .word str_beginner
23
+    .word 0
24
+    .word str_intermediate
25
+    .word 0
26
+    .word str_expert
27
+    .word 0

+ 4
- 0
main.asm View File

36
 
36
 
37
 .include "patches/overworlds/overworld.asm"
37
 .include "patches/overworlds/overworld.asm"
38
 
38
 
39
+.include "patches/interface.asm"
40
+
39
 .include "patches/battle_engine/malloc.asm"
41
 .include "patches/battle_engine/malloc.asm"
40
 .include "patches/battle_engine/battle_engine.asm"
42
 .include "patches/battle_engine/battle_engine.asm"
41
 
43
 
44
+.include "patches/text_system.asm"
45
+
42
 .org 0x09000000
46
 .org 0x09000000
43
 .importobj "object/linked.o"
47
 .importobj "object/linked.o"
44
 .close
48
 .close

+ 1
- 1
makefile View File

13
 
13
 
14
 DEFINES   := -DBPRE -DSOFTWARE_VERSION=0
14
 DEFINES   := -DBPRE -DSOFTWARE_VERSION=0
15
 ASFLAGS   := -mthumb
15
 ASFLAGS   := -mthumb
16
-CFLAGS    := -mthumb -mno-thumb-interwork -g -mcpu=arm7tdmi -fno-inline -mlong-calls -march=armv4t -O0 -std=c99 -Wall -Isrc/include $(DEFINES)
16
+CFLAGS    := -mthumb -mthumb-interwork -g -mcpu=arm7tdmi -fno-inline -mlong-calls -march=armv4t -O3 -std=c99 -Wall -Isrc/include $(DEFINES)
17
 GRITFLAGS := -ftc -fa
17
 GRITFLAGS := -ftc -fa
18
 LDFLAGS   := -z muldefs
18
 LDFLAGS   := -z muldefs
19
 BLDPATH   := object
19
 BLDPATH   := object

+ 56
- 0
nbproject/configurations.xml View File

2
 <configurationDescriptor version="100">
2
 <configurationDescriptor version="100">
3
   <logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
3
   <logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
4
     <df root="." name="0">
4
     <df root="." name="0">
5
+      <df name="data">
6
+        <df name="text_lookup">
7
+          <in>text_lookup_array.s</in>
8
+          <in>text_multichoice.s</in>
9
+        </df>
10
+        <in>raw_defines.s</in>
11
+      </df>
12
+      <df name="patches">
13
+        <in>interface.asm</in>
14
+        <in>text_system.asm</in>
15
+      </df>
5
       <df name="sots-private">
16
       <df name="sots-private">
6
         <df name="sound">
17
         <df name="sound">
7
           <df name="Assembler">
18
           <df name="Assembler">
52
           </df>
63
           </df>
53
         </df>
64
         </df>
54
         <df name="interface">
65
         <df name="interface">
66
+          <in>mugshot_table.s</in>
55
           <in>textbox_mugshots.c</in>
67
           <in>textbox_mugshots.c</in>
56
         </df>
68
         </df>
57
         <df name="moves">
69
         <df name="moves">
130
           <in>camera_move.c</in>
142
           <in>camera_move.c</in>
131
           <in>custom_specials.c</in>
143
           <in>custom_specials.c</in>
132
           <in>cutscene_meteor.c</in>
144
           <in>cutscene_meteor.c</in>
145
+          <in>load_text_special.c</in>
146
+          <in>script_overrides.c</in>
147
+        </df>
148
+      </df>
149
+      <df name="string">
150
+        <df name="de">
151
+          <df name="story_text">
152
+            <df name="tundra_hq">
153
+              <in>globals.txt</in>
154
+            </df>
155
+          </df>
156
+          <in>text.txt</in>
157
+          <in>text_multichoices.txt</in>
133
         </df>
158
         </df>
134
       </df>
159
       </df>
135
     </df>
160
     </df>
171
           <preBuildCommand></preBuildCommand>
196
           <preBuildCommand></preBuildCommand>
172
         </preBuild>
197
         </preBuild>
173
       </makefileType>
198
       </makefileType>
199
+      <item path="data/raw_defines.s" ex="false" tool="4" flavor2="0">
200
+      </item>
201
+      <item path="data/text_lookup/text_lookup_array.s"
202
+            ex="false"
203
+            tool="4"
204
+            flavor2="0">
205
+      </item>
206
+      <item path="data/text_lookup/text_multichoice.s"
207
+            ex="false"
208
+            tool="4"
209
+            flavor2="0">
210
+      </item>
174
       <folder path="0/sots-private">
211
       <folder path="0/sots-private">
175
         <cTool>
212
         <cTool>
176
           <incDir>
213
           <incDir>
426
           </incDir>
463
           </incDir>
427
         </cTool>
464
         </cTool>
428
       </folder>
465
       </folder>
466
+      <item path="patches/interface.asm" ex="false" tool="4" flavor2="0">
467
+      </item>
468
+      <item path="patches/text_system.asm" ex="false" tool="4" flavor2="0">
469
+      </item>
429
       <item path="sots-private/sound/Assembler/musicInjector.c"
470
       <item path="sots-private/sound/Assembler/musicInjector.c"
430
             ex="false"
471
             ex="false"
431
             tool="0"
472
             tool="0"
511
         <cTool flags="0">
552
         <cTool flags="0">
512
         </cTool>
553
         </cTool>
513
       </item>
554
       </item>
555
+      <item path="src/interface/mugshot_table.s" ex="false" tool="4" flavor2="0">
556
+      </item>
514
       <item path="src/interface/textbox_mugshots.c" ex="false" tool="0" flavor2="3">
557
       <item path="src/interface/textbox_mugshots.c" ex="false" tool="0" flavor2="3">
515
       </item>
558
       </item>
516
       <item path="src/moves/ability_changers/ability_change.c"
559
       <item path="src/moves/ability_changers/ability_change.c"
600
       </item>
643
       </item>
601
       <item path="src/specials/cutscene_meteor.c" ex="false" tool="0" flavor2="3">
644
       <item path="src/specials/cutscene_meteor.c" ex="false" tool="0" flavor2="3">
602
       </item>
645
       </item>
646
+      <item path="src/specials/load_text_special.c" ex="false" tool="0" flavor2="0">
647
+      </item>
648
+      <item path="src/specials/script_overrides.c" ex="false" tool="0" flavor2="0">
649
+      </item>
650
+      <item path="string/de/story_text/tundra_hq/globals.txt"
651
+            ex="false"
652
+            tool="3"
653
+            flavor2="0">
654
+      </item>
655
+      <item path="string/de/text.txt" ex="false" tool="3" flavor2="0">
656
+      </item>
657
+      <item path="string/de/text_multichoices.txt" ex="false" tool="3" flavor2="0">
658
+      </item>
603
     </conf>
659
     </conf>
604
   </confs>
660
   </confs>
605
 </configurationDescriptor>
661
 </configurationDescriptor>

+ 21
- 0
nbproject/licenseheader.txt View File

1
+/****************************************************************************
2
+ * Copyright (C) 2015-2016 by the SotS Team                                 *
3
+ *                                                                          *
4
+ * This file is part of Sovereign of the Skies.                             *
5
+ *                                                                          *
6
+ *   Sovereign of the Skies is free software: you can redistribute it       *
7
+ *   and/or modify it                                                       *
8
+ *   under the terms of the GNU Lesser General Public License as published  *
9
+ *   by the Free Software Foundation, either version 3 of the License, or   *
10
+ *   (at your option) any later version provided you include a copy of the  *
11
+ *   licence and this header.                                               *
12
+ *                                                                          *
13
+ *   Sovereign of the Skies is distributed in the hope that it will be      *
14
+ *   useful, but WITHOUT ANY WARRANTY; without even the implied warranty of *
15
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
16
+ *   GNU Lesser General Public License for more details.                    *
17
+ *                                                                          *
18
+ *   You should have received a copy of the GNU Lesser General Public       *
19
+ *   License along with Sovereign of the Skies.                             *
20
+ *   If not, see <http://www.gnu.org/licenses/>.                            *
21
+ ****************************************************************************/

+ 0
- 0
nbproject/private/CodeAssistancePathMapper.properties View File


+ 0
- 0
nbproject/private/Default.properties View File


+ 0
- 0
nbproject/private/c_standard_headers_indexer.c View File


+ 66
- 3
nbproject/private/configurations.xml View File

3
   <logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
3
   <logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
4
     <df root="." name="0">
4
     <df root="." name="0">
5
       <df name="assets">
5
       <df name="assets">
6
+        <df name="interface">
7
+        </df>
6
         <df name="meteor">
8
         <df name="meteor">
7
         </df>
9
         </df>
10
+        <df name="mug">
11
+        </df>
8
         <df name="render">
12
         <df name="render">
9
         </df>
13
         </df>
10
       </df>
14
       </df>
54
           <in>pokemon_stats.S</in>
58
           <in>pokemon_stats.S</in>
55
           <in>pokemon_tm_vm.s</in>
59
           <in>pokemon_tm_vm.s</in>
56
         </df>
60
         </df>
61
+        <df name="text_lookup">
62
+          <in>text_lookup_array.s</in>
63
+          <in>text_multichoice.s</in>
64
+        </df>
65
+        <in>raw_defines.s</in>
57
       </df>
66
       </df>
58
       <df name="doc">
67
       <df name="doc">
59
       </df>
68
       </df>
60
       <df name="gfx_build">
69
       <df name="gfx_build">
61
         <df name="icons">
70
         <df name="icons">
62
-          <in>305.s</in>
63
         </df>
71
         </df>
64
         <df name="overworlds">
72
         <df name="overworlds">
65
           <in>ow_0000.s</in>
73
           <in>ow_0000.s</in>
4268
           </df>
4276
           </df>
4269
           <df name="pkmn_tables">
4277
           <df name="pkmn_tables">
4270
           </df>
4278
           </df>
4279
+          <df name="text_lookup">
4280
+          </df>
4271
         </df>
4281
         </df>
4272
         <df name="src">
4282
         <df name="src">
4273
           <df name="assets">
4283
           <df name="assets">
4288
           </df>
4298
           </df>
4289
           <df name="include">
4299
           <df name="include">
4290
             <df name="assets">
4300
             <df name="assets">
4301
+              <df name="mug">
4302
+              </df>
4291
             </df>
4303
             </df>
4292
           </df>
4304
           </df>
4293
           <df name="interface">
4305
           <df name="interface">
4366
           </df>
4378
           </df>
4367
         </df>
4379
         </df>
4368
         <df name="string">
4380
         <df name="string">
4369
-          <df name="DE">
4381
+          <df name="de">
4382
+            <df name="story_text">
4383
+              <df name="tundra_hq">
4384
+              </df>
4385
+            </df>
4370
           </df>
4386
           </df>
4371
         </df>
4387
         </df>
4372
       </df>
4388
       </df>
4415
         <in>disable_cry_table_blocks.s</in>
4431
         <in>disable_cry_table_blocks.s</in>
4416
         <in>dynamic_overworld_hooks.asm</in>
4432
         <in>dynamic_overworld_hooks.asm</in>
4417
         <in>hooks.asm</in>
4433
         <in>hooks.asm</in>
4434
+        <in>interface.asm</in>
4418
         <in>move_table.asm</in>
4435
         <in>move_table.asm</in>
4419
         <in>moves.asm</in>
4436
         <in>moves.asm</in>
4420
         <in>music.asm</in>
4437
         <in>music.asm</in>
4421
         <in>special.asm</in>
4438
         <in>special.asm</in>
4422
         <in>split_physical_special.asm</in>
4439
         <in>split_physical_special.asm</in>
4440
+        <in>text_system.asm</in>
4423
       </df>
4441
       </df>
4424
       <df name="sots-private">
4442
       <df name="sots-private">
4425
         <df name="assets">
4443
         <df name="assets">
5569
               <in>seq_346.s</in>
5587
               <in>seq_346.s</in>
5570
             </df>
5588
             </df>
5571
             <df name="S_FINAL">
5589
             <df name="S_FINAL">
5590
+              <in>SEQ_BA_TRAIN.s</in>
5572
               <in>SEQ_BGM_BICYCLE.s</in>
5591
               <in>SEQ_BGM_BICYCLE.s</in>
5573
               <in>SEQ_BGM_CITY_01.s</in>
5592
               <in>SEQ_BGM_CITY_01.s</in>
5574
               <in>SEQ_BGM_CITY_02.s</in>
5593
               <in>SEQ_BGM_CITY_02.s</in>
5686
               <in>snd_116_taiko_drum.s</in>
5705
               <in>snd_116_taiko_drum.s</in>
5687
               <in>snd_11_vibes.s</in>
5706
               <in>snd_11_vibes.s</in>
5688
               <in>snd_127_bassdrum.s</in>
5707
               <in>snd_127_bassdrum.s</in>
5708
+              <in>snd_127_bongo_hi.s</in>
5709
+              <in>snd_127_bongo_lo.s</in>
5689
               <in>snd_127_clap.s</in>
5710
               <in>snd_127_clap.s</in>
5690
               <in>snd_127_claves.s</in>
5711
               <in>snd_127_claves.s</in>
5691
               <in>snd_127_closed_hat.s</in>
5712
               <in>snd_127_closed_hat.s</in>
5713
+              <in>snd_127_conga_hi.s</in>
5714
+              <in>snd_127_conga_hi_sl.s</in>
5692
               <in>snd_127_hard_cymbal.s</in>
5715
               <in>snd_127_hard_cymbal.s</in>
5693
               <in>snd_127_hard_snare.s</in>
5716
               <in>snd_127_hard_snare.s</in>
5694
               <in>snd_127_high_hat.s</in>
5717
               <in>snd_127_high_hat.s</in>
5764
               <in>snd_73_flute_E5.s</in>
5787
               <in>snd_73_flute_E5.s</in>
5765
               <in>snd_73_flute_Fs3.s</in>
5788
               <in>snd_73_flute_Fs3.s</in>
5766
               <in>snd_73_flute_G5.s</in>
5789
               <in>snd_73_flute_G5.s</in>
5767
-              <in>snd_73_flute_mid.s</in>
5768
               <in>snd_73_split.s</in>
5790
               <in>snd_73_split.s</in>
5769
               <in>snd_75_panflute.s</in>
5791
               <in>snd_75_panflute.s</in>
5770
               <in>snd_77_shakuhachi_high.s</in>
5792
               <in>snd_77_shakuhachi_high.s</in>
6042
         </df>
6064
         </df>
6043
         <df name="include">
6065
         <df name="include">
6044
           <df name="assets">
6066
           <df name="assets">
6067
+            <df name="interface">
6068
+              <in>arrows.img.h</in>
6069
+              <in>emoticons.img.h</in>
6070
+              <in>menu_box.img.h</in>
6071
+              <in>text_box.img.h</in>
6072
+            </df>
6073
+            <df name="mug">
6074
+              <in>mug_00.c</in>
6075
+              <in>mug_00.h</in>
6076
+              <in>mug_01.c</in>
6077
+              <in>mug_01.h</in>
6078
+              <in>mug_02.c</in>
6079
+              <in>mug_02.h</in>
6080
+              <in>mug_05.c</in>
6081
+              <in>mug_05.h</in>
6082
+              <in>mug_06.c</in>
6083
+              <in>mug_06.h</in>
6084
+              <in>mug_07.c</in>
6085
+              <in>mug_07.h</in>
6086
+              <in>mug_08.c</in>
6087
+              <in>mug_08.h</in>
6088
+              <in>mug_09.c</in>
6089
+              <in>mug_09.h</in>
6090
+              <in>mug_10.c</in>
6091
+              <in>mug_10.h</in>
6092
+              <in>mug_11.c</in>
6093
+              <in>mug_11.h</in>
6094
+            </df>
6045
             <in>ascii.c</in>
6095
             <in>ascii.c</in>
6046
             <in>ascii.h</in>
6096
             <in>ascii.h</in>
6047
           </df>
6097
           </df>
6080
         </df>
6130
         </df>
6081
         <df name="interface">
6131
         <df name="interface">
6082
           <in>lcd_io_test.S</in>
6132
           <in>lcd_io_test.S</in>
6133
+          <in>mugshot_table.s</in>
6083
           <in>textbox_mugshots.c</in>
6134
           <in>textbox_mugshots.c</in>
6084
           <in>textbox_setup.S</in>
6135
           <in>textbox_setup.S</in>
6085
           <in>trans_mug_close_fix.S</in>
6136
           <in>trans_mug_close_fix.S</in>
6232
           <in>custom_specials.c</in>
6283
           <in>custom_specials.c</in>
6233
           <in>cutscene_meteor.c</in>
6284
           <in>cutscene_meteor.c</in>
6234
           <in>cutscene_meteor.h</in>
6285
           <in>cutscene_meteor.h</in>
6286
+          <in>load_text_special.c</in>
6287
+          <in>script_overrides.c</in>
6235
         </df>
6288
         </df>
6236
       </df>
6289
       </df>
6237
       <df name="string">
6290
       <df name="string">
6238
         <df name="de">
6291
         <df name="de">
6292
+          <df name="story_text">
6293
+            <df name="tundra_hq">
6294
+              <in>globals.S</in>
6295
+              <in>globals.txt</in>
6296
+            </df>
6297
+          </df>
6239
           <in>hazards.S</in>
6298
           <in>hazards.S</in>
6240
           <in>item_data.S</in>
6299
           <in>item_data.S</in>
6241
           <in>item_descriptions.S</in>
6300
           <in>item_descriptions.S</in>
6242
           <in>move_descriptions.S</in>
6301
           <in>move_descriptions.S</in>
6243
           <in>move_names.S</in>
6302
           <in>move_names.S</in>
6244
           <in>move_strings.S</in>
6303
           <in>move_strings.S</in>
6304
+          <in>text.S</in>
6305
+          <in>text.txt</in>
6306
+          <in>text_multichoices.S</in>
6307
+          <in>text_multichoices.txt</in>
6245
         </df>
6308
         </df>
6246
         <df name="en">
6309
         <df name="en">
6247
         </df>
6310
         </df>

+ 0
- 0
nbproject/private/cpp_standard_headers_indexer.cpp View File


+ 0
- 0
nbproject/private/tools/localhost/Cygwin/g++.exe View File


+ 0
- 0
nbproject/private/tools/localhost/Cygwin/gcc.exe View File


+ 2
- 0
nbproject/project.properties View File

1
+#Sun Jan 01 14:52:09 CET 2017
2
+project.licensePath=./nbproject/licenseheader.txt

+ 46
- 0
patches/interface.asm View File

1
+.org 0x0841EF48
2
+.incbin "src/include/assets/interface/text_box.img.bin"
3
+
4
+.org 0x08470B0C
5
+.incbin "src/include/assets/interface/menu_box.img.bin"
6
+
7
+.org 0x08398CA8
8
+.incbin "src/include/assets/interface/arrows.img.bin"
9
+
10
+.org 0x083C6AC8
11
+.incbin "src/include/assets/interface/emoticons.img.bin"
12
+
13
+.org 0x08471DEC
14
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x7FFF, 0x7FFF, 0x673F, 0x4A7F, 0x31BF, 0x14C5
15
+
16
+.org 0x0847190C
17
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x673F, 0x4A7F, 0x31BF, 0x0000
18
+
19
+.org 0x0847192C
20
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x5F9A, 0x3F34, 0x1ECE, 0x0000
21
+
22
+.org 0x0847194C
23
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x7759, 0x6E92, 0x61CC, 0x0000
24
+
25
+.org 0x0847196C
26
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x6759, 0x4A93, 0x2DCD, 0x0000
27
+
28
+.org 0x0847198C
29
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x675B, 0x4A96, 0x2DD2, 0x0000
30
+
31
+.org 0x084719AC
32
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x0339, 0x02B5, 0x0273, 0x0000
33
+
34
+.org 0x084719CC
35
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x7F12, 0x7ECB, 0x7E67, 0x0000
36
+
37
+.org 0x084719EC
38
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x3DCE, 0x294A, 0x2108, 0x0000
39
+
40
+.org 0x08471A0C
41
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x4EFF, 0x367F, 0x221F, 0x0000
42
+
43
+.org 0x08471A2C
44
+.halfword 0x532E, 0x7FFF, 0x318C, 0x675A, 0x043C, 0x3AFF, 0x0664, 0x4BD2, 0x61CC, 0x6E92, 0x14C5, 0x7FFF, 0x7EF7, 0x7E52, 0x7DEF, 0x0000
45
+
46
+

+ 10
- 1
patches/special.asm View File

1
 .org 0x0815FD60 + (4 * 0x68) //special 0x68
1
 .org 0x0815FD60 + (4 * 0x68) //special 0x68
2
-.word sp_special_casm|1
2
+.word sp_special_casm|1
3
+
4
+.org 0x0815FD60 + (4*0x69)
5
+.word get_text_pointer_from_lookup|1
6
+
7
+.org 0x0815FD60 + (4*0x6A)
8
+.word get_map_pointer_from_lookup|1
9
+
10
+.org 0x0815F9B0 + (4*0x2)   //end cmd
11
+.word s02_end|1

+ 7
- 0
patches/text_system.asm View File

1
+.org 0x0809CB58
2
+.word multichoice_array
3
+
4
+.org 0x0809CFD4
5
+.word multichoice_array
6
+
7
+

+ 1
- 1
sots-private

1
-Subproject commit c208ad37f3e6e42a844b6db3304c01ab874c4062
1
+Subproject commit 7e3e3f73103207143c99a0662c36d4281cefda2e

+ 0
- 0
src/debug/debug.c View File


BIN
src/include/assets/interface/arrows.img.bin View File


+ 24
- 0
src/include/assets/interface/arrows.img.h View File

1
+
2
+//{{BLOCK(arrows_img)
3
+
4
+//======================================================================
5
+//
6
+//	arrows_img, 16x96@4, 
7
+//	+ 24 tiles not compressed
8
+//	Total size: 768 = 768
9
+//
10
+//	Time-stamp: 2017-01-01, 16:49:47
11
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
12
+//	( http://www.coranac.com/projects/#grit )
13
+//
14
+//======================================================================
15
+
16
+#ifndef GRIT_ARROWS_IMG_H
17
+#define GRIT_ARROWS_IMG_H
18
+
19
+#define arrows_imgTilesLen 768
20
+extern const unsigned int arrows_imgTiles[192];
21
+
22
+#endif // GRIT_ARROWS_IMG_H
23
+
24
+//}}BLOCK(arrows_img)

BIN
src/include/assets/interface/emoticons.img.bin View File


+ 24
- 0
src/include/assets/interface/emoticons.img.h View File

1
+
2
+//{{BLOCK(emoticons_img)
3
+
4
+//======================================================================
5
+//
6
+//	emoticons_img, 16x240@4, 
7
+//	+ 60 tiles not compressed
8
+//	Total size: 1920 = 1920
9
+//
10
+//	Time-stamp: 2017-01-01, 16:49:47
11
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
12
+//	( http://www.coranac.com/projects/#grit )
13
+//
14
+//======================================================================
15
+
16
+#ifndef GRIT_EMOTICONS_IMG_H
17
+#define GRIT_EMOTICONS_IMG_H
18
+
19
+#define emoticons_imgTilesLen 1920
20
+extern const unsigned int emoticons_imgTiles[480];
21
+
22
+#endif // GRIT_EMOTICONS_IMG_H
23
+
24
+//}}BLOCK(emoticons_img)

BIN
src/include/assets/interface/menu_box.img.bin View File


+ 24
- 0
src/include/assets/interface/menu_box.img.h View File

1
+
2
+//{{BLOCK(menu_box_img)
3
+
4
+//======================================================================
5
+//
6
+//	menu_box_img, 888x8@4, 
7
+//	+ 111 tiles not compressed
8
+//	Total size: 3552 = 3552
9
+//
10
+//	Time-stamp: 2017-01-01, 16:49:47
11
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
12
+//	( http://www.coranac.com/projects/#grit )
13
+//
14
+//======================================================================
15
+
16
+#ifndef GRIT_MENU_BOX_IMG_H
17
+#define GRIT_MENU_BOX_IMG_H
18
+
19
+#define menu_box_imgTilesLen 3552
20
+extern const unsigned int menu_box_imgTiles[888];
21
+
22
+#endif // GRIT_MENU_BOX_IMG_H
23
+
24
+//}}BLOCK(menu_box_img)

BIN
src/include/assets/interface/text_box.img.bin View File


+ 24
- 0
src/include/assets/interface/text_box.img.h View File

1
+
2
+//{{BLOCK(text_box_img)
3
+
4
+//======================================================================
5
+//
6
+//	text_box_img, 304x8@4, 
7
+//	+ 38 tiles not compressed
8
+//	Total size: 1216 = 1216
9
+//
10
+//	Time-stamp: 2017-01-01, 16:49:47
11
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
12
+//	( http://www.coranac.com/projects/#grit )
13
+//
14
+//======================================================================
15
+
16
+#ifndef GRIT_TEXT_BOX_IMG_H
17
+#define GRIT_TEXT_BOX_IMG_H
18
+
19
+#define text_box_imgTilesLen 1216
20
+extern const unsigned int text_box_imgTiles[304];
21
+
22
+#endif // GRIT_TEXT_BOX_IMG_H
23
+
24
+//}}BLOCK(text_box_img)

+ 33
- 0
src/include/assets/mug/mug_00.c View File

1
+
2
+//{{BLOCK(mug_00)
3
+
4
+//======================================================================
5
+//
6
+//	mug_00, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 188 = 220
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_00Tiles[47] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0x10000024,0x20111001,0x44211103,0x11035022,0x03102222,0x112C1012,0x21012011,
20
+	0x02200F00,0x11411112,0x12110200,0x00000001,0x00005F02,0x2210011E,0x22101910,0x2E102910,
21
+	0x005300CB,0x10100003,0x2B00115F,0x00FB0310,0x0003703B,0x1053005E,0x03201238,0x30FF6740,
22
+	0x1005708F,0xC0039063,0x102F101F,0x3B038063,0xAE102110,0x8F10B100,0x90631012,0x8350FD03,
23
+	0x97106A10,0x63F001F0,0xF0221E01,0xAB30DB03,0x20012201,0x22070103,0x0350E800,0xF01601FF,
24
+	0xF001F04A,0x1101F001,0xD083109E,0x1330FC87,0x6F308321,0x83F07FD0,0x221201F0,
25
+};
26
+
27
+const unsigned short mug_00Pal[16] __attribute__((aligned(4)))=
28
+{
29
+	0x328E,0x0000,0x7FFF,0x0000,0x0000,0x0000,0x0000,0x0000,
30
+	0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
31
+};
32
+
33
+//}}BLOCK(mug_00)

+ 28
- 0
src/include/assets/mug/mug_00.h View File

1
+
2
+//{{BLOCK(mug_00)
3
+
4
+//======================================================================
5
+//
6
+//	mug_00, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 188 = 220
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_00_H
18
+#define GRIT_MUG_00_H
19
+
20
+#define mug_00TilesLen 188
21
+extern const unsigned int mug_00Tiles[47];
22
+
23
+#define mug_00PalLen 32
24
+extern const unsigned short mug_00Pal[16];
25
+
26
+#endif // GRIT_MUG_00_H
27
+
28
+//}}BLOCK(mug_00)

+ 41
- 0
src/include/assets/mug/mug_01.c View File

1
+
2
+//{{BLOCK(mug_01)
3
+
4
+//======================================================================
5
+//
6
+//	mug_01, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 400 = 432
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_01Tiles[100] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0xF0000034,0x10078001,0x11111370,0x44110000,0x42441041,0x42410021,0x22412442,
20
+	0x21482422,0x11000300,0x00321900,0x12240000,0x41220011,0x22040314,0x22311142,0x22220400,
21
+	0x2244441D,0x53F00400,0x00010B30,0x30345512,0x1D004116,0x226A0021,0x302903B0,0x41030024,
22
+	0x24426300,0x22005000,0x42124224,0x00344241,0x34441342,0x13315514,0x75666100,0x79385177,
23
+	0x242222AA,0x42211B00,0x11900044,0x44134400,0x11133314,0x35550041,0x66571111,0x86041333,
24
+	0x31113593,0x43149F00,0x41BA0090,0x31BE0034,0x50144100,0x01C90031,0x0003CD00,0x036A3111,
25
+	0x9D00D820,0x30A10013,0x0100A5F0,0xA8335100,0x004171AA,0xA7AA2003,0xA7640320,0x0010AAAA,
26
+	0x10555A75,0x21777751,0x77561400,0x15158337,0x5784041A,0x10AAAA67,0x00656703,0x33677AAA,
27
+
28
+	0x003677A7,0x13677700,0x14236703,0x33312F03,0x01313901,0x006A003D,0xA001F006,0x00600B30,
29
+	0x0000C612,0x0000D6B0,0x00DBBB00,0x00CBEEB0,0xBFEEE300,0xBFFEE300,0x4F012140,0x22212241,
30
+	0x21004443,0x21441C4C,0x0013BD44,0xEBCD4414,0xE3CD3333,0xCDEB6600,0x23BCDD63,0x73018042,
31
+	0x440BB144,0x00BCCB14,0xCCDCB144,0x3CDD6B31,0xCDCB3300,0xBDDBEEF3,0xDBEE0AEF,0x6A90FF3D,
32
+	0xBB77000B,0x000400C2,0xFEEE0059,0xAA032003,
33
+};
34
+
35
+const unsigned short mug_01Pal[16] __attribute__((aligned(4)))=
36
+{
37
+	0x7FE0,0x0C62,0x2928,0x0000,0x1CC5,0x2DD7,0x20CB,0x3E9B,
38
+	0x7FDE,0x76F5,0x5B5F,0x0848,0x15B6,0x1A9A,0x18D8,0x1090,
39
+};
40
+
41
+//}}BLOCK(mug_01)

+ 28
- 0
src/include/assets/mug/mug_01.h View File

1
+
2
+//{{BLOCK(mug_01)
3
+
4
+//======================================================================
5
+//
6
+//	mug_01, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 400 = 432
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_01_H
18
+#define GRIT_MUG_01_H
19
+
20
+#define mug_01TilesLen 400
21
+extern const unsigned int mug_01Tiles[100];
22
+
23
+#define mug_01PalLen 32
24
+extern const unsigned short mug_01Pal[16];
25
+
26
+#endif // GRIT_MUG_01_H
27
+
28
+//}}BLOCK(mug_01)

+ 42
- 0
src/include/assets/mug/mug_02.c View File

1
+
2
+//{{BLOCK(mug_02)
3
+
4
+//======================================================================
5
+//
6
+//	mug_02, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 428 = 460
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_02Tiles[107] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0xF0000036,0x200B4001,0x1A400340,0x00110010,0x20222120,0x24004432,0x42433422,
20
+	0x04334442,0x44444433,0x22375044,0x00110011,0x12322211,0x33074444,0x43334424,0x1E100210,
21
+	0x50AA1F60,0x6800015F,0x246C0012,0x6A240800,0x003A3011,0x6E00427B,0x33720043,0x34490085,
22
+	0x00320000,0x1700320F,0x30143122,0x42442445,0x00140320,0x12442142,0x52221242,0x11122100,
23
+	0x42211652,0x30676C76,0x42891065,0x01100320,0x41004421,0x21221144,0x10122444,0x00444411,
24
+	0x0142446C,0x44442800,0x30120310,0x00124203,0x10224233,0x217A1003,0x00EA0024,0x00106503,
25
+	0x00031087,0x10034021,0x1800F410,0x185775A9,0x02676591,0x77669348,0x03006658,0x77750476,
26
+	0x00677682,0x00777703,0x55676822,0x44134A91,0x15891100,0x55593442,0x66770041,0x67772155,
27
+
28
+	0x00801585,0x66778803,0x56662225,0x21211802,0x40012222,0x12081403,0x01144222,0x42111420,
29
+	0x12124400,0x22122222,0x14422021,0x22205811,0x00421000,0x00200233,0x22211441,0xBB221000,
30
+	0xDCB21232,0xD1240042,0xDC1220DD,0x820032DD,0x23326666,0x00325582,0x32224334,0x32133444,
31
+	0x2DD100A8,0x00DDD500,0x12CCCD43,0x85661100,0x28551442,0x58340022,0x55322218,0x42202218,
32
+	0xEE540081,0xFE221448,0x21448F00,0xC228EEFF,0x00216422,0x21010067,0x12874012,0xB1000012,
33
+	0xD200011B,0x000001BC,0x0001CDDD,
34
+};
35
+
36
+const unsigned short mug_02Pal[16] __attribute__((aligned(4)))=
37
+{
38
+	0x7FE0,0x0000,0x0C62,0x2928,0x1CC5,0x2DD7,0x4ABC,0x5B5F,
39
+	0x20CB,0x7FFF,0x76F5,0x0848,0x1090,0x18D8,0x15B6,0x1A9A,
40
+};
41
+
42
+//}}BLOCK(mug_02)

+ 28
- 0
src/include/assets/mug/mug_02.h View File

1
+
2
+//{{BLOCK(mug_02)
3
+
4
+//======================================================================
5
+//
6
+//	mug_02, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 428 = 460
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_02_H
18
+#define GRIT_MUG_02_H
19
+
20
+#define mug_02TilesLen 428
21
+extern const unsigned int mug_02Tiles[107];
22
+
23
+#define mug_02PalLen 32
24
+extern const unsigned short mug_02Pal[16];
25
+
26
+#endif // GRIT_MUG_02_H
27
+
28
+//}}BLOCK(mug_02)

+ 43
- 0
src/include/assets/mug/mug_05.c View File

1
+
2
+//{{BLOCK(mug_05)
3
+
4
+//======================================================================
5
+//
6
+//	mug_05, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 472 = 504
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_05Tiles[118] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0x6000002A,0x0B001001,0x44060041,0x51000010,0x44530300,0x53201000,0x11160045,
20
+	0x33431110,0x34444300,0x44444413,0x0300C034,0x221102A0,0x44330000,0x31002100,0x43023443,
21
+	0x23443F44,0x23100300,0x0B100320,0x6A205F80,0x70000255,0x63740023,0x10437800,0x5410140C,
22
+	0x55720045,0x00547600,0x44442000,0x44432200,0x41120000,0x32310044,0x34121044,0x6F401112,
23
+	0x7B005534,0x54552454,0x81348300,0x34888A00,0x99881101,0x79988733,0x41006F10,0x31334444,
24
+	0x00333444,0x43333327,0x44433128,0x33328800,0x23128912,0x28770011,0x06431171,0x444A0000,
25
+	0x21340340,0x0061AB00,0x02001377,0x06133300,0x00143300,0x34100006,0x4410A721,0x20B82100,
26
+	0x20B72344,0x82130043,0x72344160,0x00803200,0x234316D0,0x23312000,0x9998B200,0x999866B7,
27
+
28
+	0x99320068,0x99982999,0x99089999,0x10999989,0xDDC98607,0x88619900,0x87A28888,0xB6170282,
29
+	0xB3287898,0x10990300,0x00278799,0x89991203,0x89110026,0x78321168,0x32201112,0x31630031,
30
+	0x41000214,0x5C01646B,0x0043F400,0x93003483,0x21801200,0x41600003,0x31600023,0x60001100,
31
+	0x12001233,0x00EE0013,0x60CDE336,0xCC00D131,0xDCC23312,0x00D21316,0x772611DD,0x26221177,
32
+	0xE2117300,0xCDDD777D,0xCC88008D,0xFCDDCFFF,0xFF20FFFF,0xC60300FD,0x62FFCFFF,0x31111600,
33
+	0x31211616,0x21EE00E6,0xDDDDDE11,0xDC00FCEE,0xCCFFDCCC,0x01FFCCCC,0xCFCCCECC,0x00CCD6DC,
34
+	0x6B21E576,0xFE006F11,0x80011E00,0x40130116,0x6D07016D,0x00000611,
35
+};
36
+
37
+const unsigned short mug_05Pal[16] __attribute__((aligned(4)))=
38
+{
39
+	0x7FE0,0x1086,0x0844,0x18C9,0x294D,0x3E14,0x0000,0x2595,
40
+	0x3239,0x571E,0x6B5A,0x7FFF,0x3D5B,0x2090,0x0C47,0x4E1F,
41
+};
42
+
43
+//}}BLOCK(mug_05)

+ 28
- 0
src/include/assets/mug/mug_05.h View File

1
+
2
+//{{BLOCK(mug_05)
3
+
4
+//======================================================================
5
+//
6
+//	mug_05, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 472 = 504
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_05_H
18
+#define GRIT_MUG_05_H
19
+
20
+#define mug_05TilesLen 472
21
+extern const unsigned int mug_05Tiles[118];
22
+
23
+#define mug_05PalLen 32
24
+extern const unsigned short mug_05Pal[16];
25
+
26
+#endif // GRIT_MUG_05_H
27
+
28
+//}}BLOCK(mug_05)

+ 44
- 0
src/include/assets/mug/mug_06.c View File

1
+
2
+//{{BLOCK(mug_06)
3
+
4
+//======================================================================
5
+//
6
+//	mug_06, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 512 = 544
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_06Tiles[128] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0x6000002A,0x0B001001,0x44060041,0x11060080,0x62110000,0x21002000,0x32110076,
20
+	0x00441133,0x44551221,0x55544444,0x11555510,0x41220400,0x77001144,0x88632142,0x00776327,
21
+	0x00002222,0x00215444,0x44554400,0x44455522,0x00454014,0x44122227,0x06277614,0x78882113,
22
+	0x70470026,0x00AA0261,0x7000216C,0x11080011,0x40120800,0x207D0031,0x20008791,0x03009062,
23
+	0x03004579,0x79000067,0x0300A842,0x690000B8,0x08510300,0x77888888,0x88880300,0x78780087,
24
+	0x77754488,0x8600B345,0x87C36888,0xA0DC7888,0x10781910,0x8812671A,0x13006888,0x63787547,
25
+	0x00788764,0x787AB371,0x787BC379,0x8BDC6700,0x88776797,0x12760095,0x21000214,0x00800344,
26
+	0x26002103,0x27003444,0x03104140,0x42270214,0x16420344,0x00000300,0x89008792,0x00001075,
27
+
28
+	0x41FB0022,0x80200022,0x14202400,0x23300014,0x1B019814,0x63208832,0x54577F00,0x02118087,
29
+	0x16887414,0x00114423,0x14231141,0x12DDDC44,0x78881400,0x58887654,0x88340044,0x77221447,
30
+	0x23001415,0x21321444,0x00CD3414,0xDE331111,0xDE39321C,0x00133320,0x44411167,0x41001124,
31
+	0x42113414,0x10113111,0x01321112,0x33210052,0x00006800,0xD07E117C,0x00BD8301,0xBEDD00D0,
32
+	0xFBCFFD00,0xCA00BBC0,0x3BBBBCDA,0x00BBA3E3,0xABB3EEFA,0xDEFEEDEF,0xAB322200,0xEF969CDE,
33
+	0x6763003E,0x7779C3DE,0x6C00CC3C,0xCCDC3367,0x00DCC3CC,0xDDC3DD3D,0xC969DD3D,0x66CFEF00,
34
+	0x96CABFC9,0xCBBE00FC,0xCBADE3C9,0x3C0033CC,0xEEECDDCA,0x02AACD33,0xFACDAFEF,0xDF11FEDF,
35
+	0x000D00DD,0x0CDFFF00,0xBB02BA00,0xABBB00CF,0xAB0700FF,0xBBBB0C00,0xBBBA03BB,0x690300FA,
36
+};
37
+
38
+const unsigned short mug_06Pal[16] __attribute__((aligned(4)))=
39
+{
40
+	0x7FE0,0x0885,0x0442,0x0000,0x112B,0x1DD1,0x29D6,0x429D,
41
+	0x677F,0x1D0D,0x6B5A,0x7FFF,0x1463,0x24E7,0x45CD,0x56B5,
42
+};
43
+
44
+//}}BLOCK(mug_06)

+ 28
- 0
src/include/assets/mug/mug_06.h View File

1
+
2
+//{{BLOCK(mug_06)
3
+
4
+//======================================================================
5
+//
6
+//	mug_06, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 512 = 544
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_06_H
18
+#define GRIT_MUG_06_H
19
+
20
+#define mug_06TilesLen 512
21
+extern const unsigned int mug_06Tiles[128];
22
+
23
+#define mug_06PalLen 32
24
+extern const unsigned short mug_06Pal[16];
25
+
26
+#endif // GRIT_MUG_06_H
27
+
28
+//}}BLOCK(mug_06)

+ 42
- 0
src/include/assets/mug/mug_07.c View File

1
+
2
+//{{BLOCK(mug_07)
3
+
4
+//======================================================================
5
+//
6
+//	mug_07, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 444 = 476
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_07Tiles[111] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0xE000002A,0x13002001,0x32170012,0x310A00A0,0x00111F00,0x8A333110,0x41330200,
20
+	0x34030033,0x80440400,0x44430800,0x22133322,0x21110044,0x13330002,0x33420221,0x33330400,
21
+	0x22002211,0x2600AA13,0x112E0033,0x90232E00,0x00AE025F,0x0340216C,0x100C0011,0x336E0003,
22
+	0x130340B2,0x1E007A00,0x93002220,0x03508068,0x43312213,0x00333121,0x22211211,0x65522222,
23
+	0x61136600,0x32A97777,0x2A570076,0x1A777762,0x77007773,0x12211444,0x00122222,0x11225531,
24
+	0x22566633,0x31161300,0x92A32125,0x26220025,0x175255A2,0x712D56A3,0x31740031,0x89108500,
25
+	0xAB031023,0x00218000,0x8C002284,0x207F2085,0x01505A6B,0x03408007,0x01B01251,0x6600CB1B,
26
+	0x77777777,0x50777767,0x75030076,0x67680B00,0x52007655,0x2C777776,0x00666665,0x555558AA,
27
+
28
+	0x73566677,0x56677708,0x52030065,0x25006777,0x25667722,0x00566600,0x285502B2,0x22280DBB,
29
+	0x852BCB17,0x40256001,0x1001F0FB,0xACD0000E,0xAABDD000,0xCD00BD00,0xADCBD0AA,0x00ABB0AA,
30
+	0xABADD22D,0xABA2ADBB,0xC2AADB00,0xAAACDBBC,0x288800DB,0xCDBCDBCA,0xBA00BDCA,0xDACDBCA2,
31
+	0x002DBCD2,0x2BDBEEE2,0x2C2BDEFE,0x2BADFF00,0xB2AADF2A,0x2CAB202B,0xCADA2600,0x00CAAADB,
32
+	0xAAAAC2AA,0xAAAAAD22,0x2DAB2C00,0xCAAC2C22,0xAADB02BD,0x0DDDDBAA,0x00DCC400,0xCAAD0000,
33
+	0xBAAD000D,0xCD00DB00,0xBD00BCAB,0x0DBA00AC,0x02BAAABB,0xBC00AABB,0x00000002,
34
+};
35
+
36
+const unsigned short mug_07Pal[16] __attribute__((aligned(4)))=
37
+{
38
+	0x7FE0,0x0CA6,0x0021,0x192A,0x25AE,0x29B6,0x3E9B,0x5F5F,
39
+	0x1CCA,0x7B58,0x7FFF,0x5A2E,0x76F5,0x24E7,0x4166,0x622C,
40
+};
41
+
42
+//}}BLOCK(mug_07)

+ 28
- 0
src/include/assets/mug/mug_07.h View File

1
+
2
+//{{BLOCK(mug_07)
3
+
4
+//======================================================================
5
+//
6
+//	mug_07, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 444 = 476
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_07_H
18
+#define GRIT_MUG_07_H
19
+
20
+#define mug_07TilesLen 444
21
+extern const unsigned int mug_07Tiles[111];
22
+
23
+#define mug_07PalLen 32
24
+extern const unsigned short mug_07Pal[16];
25
+
26
+#endif // GRIT_MUG_07_H
27
+
28
+//}}BLOCK(mug_07)

+ 44
- 0
src/include/assets/mug/mug_08.c View File

1
+
2
+//{{BLOCK(mug_08)
3
+
4
+//======================================================================
5
+//
6
+//	mug_08, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 492 = 524
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_08Tiles[123] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0xE0000020,0x00001201,0x00A85120,0x0A005503,0x101F3053,0x10000021,0x22222331,
20
+	0x00551233,0x53552135,0x33555533,0x00515324,0x20352103,0x0022223F,0x41331200,0x04133500,
21
+	0x21550000,0x33330222,0x35210515,0x00533333,0x5FF01502,0x02000015,0x00211200,0x08104216,
22
+	0x33122000,0x35112000,0x21320000,0x15320031,0x34000051,0x14001213,0x01004153,0x00112540,
23
+	0x00222140,0x00124D4B,0x3033214A,0x1257204F,0x44005C00,0x66155512,0x04244442,0x11215335,
24
+	0x21230012,0x21110012,0x21111144,0x12002221,0x11415311,0x00144211,0x21221112,0x04111127,
25
+	0x35000000,0x51000023,0x00020033,0x00211121,0x44084211,0x00415200,0x000025E4,0x10551129,
26
+	0xA3002489,0xF3004624,0xF700C654,0x87AD0086,0x0062B100,0x75300000,0x2A930000,0x88860051,
27
+
28
+	0x6B65A956,0xB8009D45,0xBBB8C8BB,0xE0BB8BBB,0x03200400,0x76B60600,0x00118867,0xA9526822,
29
+	0x9D518687,0x51866700,0x15186668,0x3116008B,0x33268B45,0x76008852,0x7668E452,0x2221E522,
30
+	0x73000251,0x00120004,0x00C04487,0x110D118B,0xA4000005,0x0005003A,0x005AAE4E,0x99005000,
31
+	0x395000A3,0x0010009A,0x400099EE,0xCC009993,0xC0999500,0xD499E1FD,0xEE4D00FF,0x54CFFFD4,
32
+	0x88008862,0x68863988,0x003A9936,0xEA99AA33,0xAE99999A,0xA9999900,0xEE9999A3,0x999A00E5,
33
+	0x9AEE541E,0x15005766,0xAAEE55E1,0x0093A95E,0x3A99EA99,0xE999A999,0x03009A40,0xEA99E99E,
34
+	0xA9004EE3,0x5AD4145E,0x0005A3EE,0x5A95E4AA,0x393EE4AE,0x5EE1E500,0x5E4C11E9,0xCDD400E9,
35
+	0xDFFDEA54,0xFF00EE91,0x3AEEA91F,
36
+};
37
+
38
+const unsigned short mug_08Pal[16] __attribute__((aligned(4)))=
39
+{
40
+	0x7FE0,0x1884,0x0C42,0x398A,0x0000,0x2906,0x25B5,0x1D0C,
41
+	0x3E9B,0x7FFF,0x7B58,0x5F5F,0x20A4,0x4565,0x6292,0x61E8,
42
+};
43
+
44
+//}}BLOCK(mug_08)

+ 28
- 0
src/include/assets/mug/mug_08.h View File

1
+
2
+//{{BLOCK(mug_08)
3
+
4
+//======================================================================
5
+//
6
+//	mug_08, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 492 = 524
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_08_H
18
+#define GRIT_MUG_08_H
19
+
20
+#define mug_08TilesLen 492
21
+extern const unsigned int mug_08Tiles[123];
22
+
23
+#define mug_08PalLen 32
24
+extern const unsigned short mug_08Pal[16];
25
+
26
+#endif // GRIT_MUG_08_H
27
+
28
+//}}BLOCK(mug_08)

+ 43
- 0
src/include/assets/mug/mug_09.c View File

1
+
2
+//{{BLOCK(mug_09)
3
+
4
+//======================================================================
5
+//
6
+//	mug_09, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 476 = 508
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_09Tiles[119] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0xE000002A,0x13001001,0x44060041,0x1100000A,0x111F4034,0x00330B00,0x33331110,
20
+	0x33333131,0x33433305,0x06001333,0x81070013,0x00221C20,0x21333300,0x33280300,0x231D0002,
21
+	0x33431B00,0x41333A31,0x3F502900,0x000204A0,0x00A02112,0x1A205316,0x10003432,0x00440031,
22
+	0x00413320,0x22001320,0x21231200,0x90133200,0x12120300,0x23920300,0x33003443,0x34443121,
23
+	0x00333162,0x33127644,0x33167833,0x27763300,0x69923331,0x2A330012,0x31111261,0x14004313,
24
+	0x33441433,0xC0313441,0x03507200,0x33213323,0x21001151,0x33315111,0x50000005,0x12030031,
25
+	0x13236C00,0x53000002,0x51000511,0x48002331,0x23AF0051,0x32850011,0x00206212,0x21031012,
26
+	0x21200065,0x83002154,0x128B0052,0x11340330,0x566B5500,0x678ADC31,0x88660015,0x88885677,
27
+
28
+	0x86006777,0x82777778,0x00888888,0x86998651,0x48886531,0x23312300,0x12121133,0x12110011,
29
+	0x15151115,0x56003115,0x68311215,0x00332115,0x43511566,0x44515E34,0x63001245,0x00511115,
30
+	0x07000203,0x1500050D,0x018B0051,0x97002400,0x9B002360,0x0012FE00,0x00151331,0x31234310,
31
+	0x11513441,0x15134108,0xF5B80021,0x51001125,0xC55520DC,0x001BB3DD,0xBBE4A431,0xEAAEAAAE,
32
+	0xABAAAA00,0xBEAAAAAB,0xBAAA00BE,0x34BBE3E2,0xEE00352C,0x552FCD2E,0x0054BA22,0xEBAA3321,
33
+	0xEBAA1325,0xBA231200,0x2E513322,0x51132044,0x31153E01,0x05331552,0x13331121,0x23FB1021,
34
+	0x10800301,0x00325103,0x03AAE511,0xABFC5100,0xE5DDF234,0xCDC500AA,0x1143BAE5,
35
+};
36
+
37
+const unsigned short mug_09Pal[16] __attribute__((aligned(4)))=
38
+{
39
+	0x7FE0,0x1884,0x0C42,0x2906,0x3DAB,0x0000,0x25B5,0x5F5F,
40
+	0x3E9B,0x1D0C,0x7FFF,0x7B58,0x4565,0x61E8,0x6292,0x20A4,
41
+};
42
+
43
+//}}BLOCK(mug_09)

+ 28
- 0
src/include/assets/mug/mug_09.h View File

1
+
2
+//{{BLOCK(mug_09)
3
+
4
+//======================================================================
5
+//
6
+//	mug_09, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 476 = 508
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_09_H
18
+#define GRIT_MUG_09_H
19
+
20
+#define mug_09TilesLen 476
21
+extern const unsigned int mug_09Tiles[119];
22
+
23
+#define mug_09PalLen 32
24
+extern const unsigned short mug_09Pal[16];
25
+
26
+#endif // GRIT_MUG_09_H
27
+
28
+//}}BLOCK(mug_09)

+ 44
- 0
src/include/assets/mug/mug_10.c View File

1
+
2
+//{{BLOCK(mug_10)
3
+
4
+//======================================================================
5
+//
6
+//	mug_10, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 484 = 516
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_10Tiles[121] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0xF0000035,0x200F0001,0x00121300,0x30324017,0x0021101B,0x00133110,0x23333110,
20
+	0x23333331,0x33333300,0x13333311,0x0600C412,0x22002310,0x112C0022,0x31000522,0x00021133,
21
+	0x1F00411B,0x2300134C,0x10001133,0x00005BF0,0x12000454,0x11160041,0x20000810,0x41003160,
22
+	0x52122700,0x00132000,0x53200075,0x63100077,0x32007700,0x32008961,0x13A90076,0x51565551,
23
+	0x75008775,0x78777795,0x00877787,0x46995795,0xA6AA4844,0xBB6A6608,0xAA0100A6,0x1100556B,
24
+	0x65873111,0x00771111,0x78111697,0x96166987,0x68885900,0x8778644A,0x794600BA,0x846AAA77,
25
+	0x00A81377,0x03101168,0x04031021,0x00821100,0x21121674,0x14002600,0x18108025,0x00B87632,
26
+	0x00B67614,0xAA841400,0x99612000,0x41400000,0x44000096,0x00000898,0xB9008860,0x00AAAB84,
27
+
28
+	0x66A6CAAC,0x74CAEDDB,0xCFEEB800,0xDFEED744,0xEED70031,0xEEDDEEEF,0xEC00EEDF,0xDDDDF9EE,
29
+	0x00ACCCEE,0x6BCE994A,0x74B556A6,0xCE74C800,0xDE74C744,0x94C70031,0x56CDDEEE,0x6D01DEEE,
30
+	0x4CDCDE89,0x7C006888,0x10167720,0x87002103,0x00000414,0x00042498,0x2A004269,0x04014900,
31
+	0x461A3144,0xC0952101,0x73006F00,0x22005862,0x20008561,0x14751331,0x00961333,0x62213334,
32
+	0x877CDD69,0xDDDF5600,0xDDF585DD,0x587700DD,0x58775555,0x77107789,0x09017898,0x85997777,
33
+	0xC9777700,0xDD4896DD,0x649600FC,0x966556FC,0x87018566,0x77785895,0x21009798,0x25008754,
34
+	0x96100158,0x06896C01,0x88000008,0x49030069,0x89000002,0x95002149,0x04041114,0x41133146,
35
+	0x88AB0114,
36
+};
37
+
38
+const unsigned short mug_10Pal[16] __attribute__((aligned(4)))=
39
+{
40
+	0x7FE0,0x4565,0x20A4,0x5E07,0x0000,0x3DAB,0x1884,0x7FFF,
41
+	0x7B58,0x6292,0x0C42,0x2906,0x25B5,0x363A,0x5B3E,0x1D0C,
42
+};
43
+
44
+//}}BLOCK(mug_10)

+ 28
- 0
src/include/assets/mug/mug_10.h View File

1
+
2
+//{{BLOCK(mug_10)
3
+
4
+//======================================================================
5
+//
6
+//	mug_10, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 484 = 516
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_10_H
18
+#define GRIT_MUG_10_H
19
+
20
+#define mug_10TilesLen 484
21
+extern const unsigned int mug_10Tiles[121];
22
+
23
+#define mug_10PalLen 32
24
+extern const unsigned short mug_10Pal[16];
25
+
26
+#endif // GRIT_MUG_10_H
27
+
28
+//}}BLOCK(mug_10)

+ 44
- 0
src/include/assets/mug/mug_11.c View File

1
+
2
+//{{BLOCK(mug_11)
3
+
4
+//======================================================================
5
+//
6
+//	mug_11, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 504 = 536
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+const unsigned int mug_11Tiles[126] __attribute__((aligned(4)))=
18
+{
19
+	0x00020010,0x20000020,0x00002201,0x00143320,0x03003200,0x110B0021,0x07008032,0x32100033,
20
+	0x00111133,0x21121111,0x22333322,0x04001144,0x00322123,0x92333304,0x55230110,0x11770200,
21
+	0x00113C10,0x22220001,0x23330411,0x32412200,0x21222233,0x22220022,0x21265565,0x67357958,
22
+	0x605F402A,0x70000406,0x91701042,0x12220800,0x33207D00,0x006A0033,0x33310033,0x23320023,
23
+	0x33101105,0x03006233,0x00070052,0x33324056,0x77523396,0x76237700,0x95627777,0x76990077,
24
+	0x79889987,0x4A008597,0xA6468777,0x00548977,0xBA4877B5,0x777799CB,0x7959A900,0x98686777,
25
+	0x4A670079,0x66998A44,0x8400466B,0x4BA55A55,0x02BAACAA,0xBFCEDDA6,0x6C0022AB,0x0122092A,
26
+	0x7000A700,0x03002A77,0x00122600,0x0042A698,0x42A8016A,0x42498400,0x00630000,0x33240076,
27
+
28
+	0x2240007A,0xFB007A40,0x2400006A,0x002800A2,0x40030010,0x69149D10,0xA94700AA,0x8744A487,
29
+	0x3201A497,0xEA6497E7,0x030069DD,0xA55A8800,0x66A89ADC,0x4994008B,0xACDEECBA,0xDD00A847,
30
+	0xDD6944CD,0x006932ED,0xACEECDDD,0x4AECDDDD,0xCECEDD00,0xBCEC774B,0xCEEE0084,0x4994666A,
31
+	0x84000041,0x54000148,0x05000446,0x00004A84,0xA800018A,0x486A7401,0x7F010B41,0xA0034040,
32
+	0x02A17700,0x42310000,0x0B011000,0x03208024,0x5589A412,0x006A86E6,0x9679A899,0x78798777,
33
+	0x78577700,0x7A897777,0x98770079,0x95977884,0x89009841,0x866ACE86,0x00566A98,0x99967788,
34
+	0x77797795,0x77778904,0x22009777,0x00819877,0x77795808,0x01A66897,0x0A9705E0,0x00770000,
35
+	0x74007774,0x04489700,0x012A8900,0x24880000,0x21480042,0x00000042,
36
+};
37
+
38
+const unsigned short mug_11Pal[16] __attribute__((aligned(4)))=
39
+{
40
+	0x7FE0,0x20A4,0x4565,0x5E07,0x0000,0x3DAB,0x2906,0x7FFF,
41
+	0x6292,0x7B58,0x1884,0x0C42,0x25B5,0x5B3E,0x363A,0x1D0C,
42
+};
43
+
44
+//}}BLOCK(mug_11)

+ 28
- 0
src/include/assets/mug/mug_11.h View File

1
+
2
+//{{BLOCK(mug_11)
3
+
4
+//======================================================================
5
+//
6
+//	mug_11, 32x32@4, 
7
+//	+ palette 16 entries, not compressed
8
+//	+ 16 tiles lz77 compressed
9
+//	Total size: 32 + 504 = 536
10
+//
11
+//	Time-stamp: 2017-01-01, 14:21:14
12
+//	Exported by Cearn's GBA Image Transmogrifier, v0.8.6
13
+//	( http://www.coranac.com/projects/#grit )
14
+//
15
+//======================================================================
16
+
17
+#ifndef GRIT_MUG_11_H
18
+#define GRIT_MUG_11_H
19
+
20
+#define mug_11TilesLen 504
21
+extern const unsigned int mug_11Tiles[126];
22
+
23
+#define mug_11PalLen 32
24
+extern const unsigned short mug_11Pal[16];
25
+
26
+#endif // GRIT_MUG_11_H
27
+
28
+//}}BLOCK(mug_11)

+ 0
- 0
src/include/battle_fractions.h View File


+ 3
- 0
src/include/config.h View File

33
 /*Variables for walking script control*/
33
 /*Variables for walking script control*/
34
 #define WALK_SCRIPT_VAR 0x5009
34
 #define WALK_SCRIPT_VAR 0x5009
35
 
35
 
36
+/*Variable for custom text*/
37
+#define TEXT_VAR 0x500C
38
+
36
 /*Variables to control the music overrides*/
39
 /*Variables to control the music overrides*/
37
 #define VAR_FROM_1 0x51FA
40
 #define VAR_FROM_1 0x51FA
38
 #define VAR_FROM_2 0x51FB
41
 #define VAR_FROM_2 0x51FB

+ 15
- 0
src/include/game_engine.h View File

48
 extern u16 *var_access(u32 index);
48
 extern u16 *var_access(u32 index);
49
 
49
 
50
 /**
50
 /**
51
+ * @brief gets value of variable at index
52
+ * @param index index to get varaible value from
53
+ * @return value of VAR[index]
54
+ */
55
+extern u16 var_get(u16 index);
56
+
57
+/**
58
+ * @brief sets variable at index to value
59
+ * @param index unsigned index of the variable
60
+ * @param value value to set the variable to
61
+ * @return true on success, false otherwise
62
+ */
63
+extern u8 var_set(u16 index, u16 value);
64
+
65
+/**
51
  * @brief checks if flag is set
66
  * @brief checks if flag is set
52
  * @param flag index of flag to check
67
  * @param flag index of flag to check
53
  * @return flag status (bool)
68
  * @return flag status (bool)

+ 3
- 1
src/include/objects.h View File

84
   u8 field43;
84
   u8 field43;
85
 };
85
 };
86
 
86
 
87
+extern struct obj_entity* objects;
88
+
87
 typedef void (*object_callback)(struct obj_entity*);
89
 typedef void (*object_callback)(struct obj_entity*);
88
 
90
 
89
 struct obj_template {
91
 struct obj_template {
110
  * @param x x position
112
  * @param x x position
111
  * @param y y position
113
  * @param y y position
112
  * @param b index to start searching at ( ? )
114
  * @param b index to start searching at ( ? )
113
- * @return id of the newly generated obj_entity structure [in superstate.sprites array]
115
+ * @return id of the newly generated obj_entity structure [in objects array]
114
  */
116
  */
115
 extern u8 obj_template_instanciate_forward_search(struct obj_template *t, u16 x, u16 y, u8 b);
117
 extern u8 obj_template_instanciate_forward_search(struct obj_template *t, u16 x, u16 y, u8 b);
116
 
118
 

+ 46
- 0
src/interface/mugshot_table.s View File

1
+.align 2
2
+.thumb
3
+.section .rodata
4
+
5
+mugshot_table_int:
6
+.word mug_00Tiles
7
+.word mug_00Pal
8
+
9
+.word mug_01Tiles
10
+.word mug_01Pal
11
+
12
+.word mug_02Tiles
13
+.word mug_02Pal
14
+
15
+.word 0
16
+.word 0
17
+
18
+.word 0
19
+.word 0
20
+
21
+.word mug_05Tiles
22
+.word mug_05Pal
23
+
24
+.word mug_06Tiles
25
+.word mug_06Pal
26
+
27
+.word mug_07Tiles
28
+.word mug_07Pal
29
+
30
+.word mug_08Tiles
31
+.word mug_08Pal
32
+
33
+.word mug_09Tiles
34
+.word mug_09Pal
35
+
36
+.word mug_10Tiles
37
+.word mug_10Pal
38
+
39
+.word mug_11Tiles
40
+.word mug_11Pal
41
+
42
+.global mugshots
43
+mugshots:
44
+    .word mugshot_table_int
45
+
46
+

+ 11
- 14
src/interface/textbox_mugshots.c View File

67
 
67
 
68
 /* === STATIC GLOBALS === */
68
 /* === STATIC GLOBALS === */
69
 
69
 
70
-mug_mugshot *mugshots = (mug_mugshot(*)) 0x097007E0;
70
+extern mug_mugshot *mugshots;
71
 
71
 
72
 u8 *temp_obj_id1 = (u8*) OBJ_1_TEMP;
72
 u8 *temp_obj_id1 = (u8*) OBJ_1_TEMP;
73
 u8 *temp_obj_id2 = (u8*) OBJ_2_TEMP;
73
 u8 *temp_obj_id2 = (u8*) OBJ_2_TEMP;
82
 /* === IMPLEMENTATIONS === */
82
 /* === IMPLEMENTATIONS === */
83
 
83
 
84
 void mug_create_on_variable() {
84
 void mug_create_on_variable() {
85
-    /* this is just some debug code! */
86
-    assert(NULL);
87
-
88
     u16 *mug1_var = var_access(MUGHSOT_1_TABLE);
85
     u16 *mug1_var = var_access(MUGHSOT_1_TABLE);
89
     u16 c_mug1_var = *mug1_var;
86
     u16 c_mug1_var = *mug1_var;
90
     u16 mug_id_1 = c_mug1_var & 0x3FFF;
87
     u16 mug_id_1 = c_mug1_var & 0x3FFF;
105
         *temp_obj_id1 = (u16) obj_template_instanciate_forward_search(&mugshot_1_template, 0, 100, 1);
102
         *temp_obj_id1 = (u16) obj_template_instanciate_forward_search(&mugshot_1_template, 0, 100, 1);
106
 
103
 
107
         if (h_flip)
104
         if (h_flip)
108
-            superstate.sprites[*temp_obj_id1].final_oam.attr1 |= 0x1000;
105
+            objects[*temp_obj_id1].final_oam.attr1 |= 0x1000;
109
         if (v_flip)
106
         if (v_flip)
110
-            superstate.sprites[*temp_obj_id1].final_oam.attr1 |= 0x2000;
107
+            objects[*temp_obj_id1].final_oam.attr1 |= 0x2000;
111
 
108
 
112
-        superstate.sprites[*temp_obj_id1].x = *mug1_x;
113
-        superstate.sprites[*temp_obj_id1].y = *mug1_y;
109
+        objects[*temp_obj_id1].x = *mug1_x;
110
+        objects[*temp_obj_id1].y = *mug1_y;
114
     }
111
     }
115
     u16 *mug2_var = var_access(MUGHSOT_2_TABLE);
112
     u16 *mug2_var = var_access(MUGHSOT_2_TABLE);
116
     u16 c_mug2_var = *mug2_var;
113
     u16 c_mug2_var = *mug2_var;
133
         *temp_obj_id2 = (u16) obj_template_instanciate_forward_search(&mugshot_2_template, 0, 100, 1);
130
         *temp_obj_id2 = (u16) obj_template_instanciate_forward_search(&mugshot_2_template, 0, 100, 1);
134
 
131
 
135
         if (h_flip)
132
         if (h_flip)
136
-            superstate.sprites[*temp_obj_id2].final_oam.attr1 |= 0x1000;
133
+            objects[*temp_obj_id2].final_oam.attr1 |= 0x1000;
137
         if (v_flip)
134
         if (v_flip)
138
-            superstate.sprites[*temp_obj_id2].final_oam.attr1 |= 0x2000;
135
+            objects[*temp_obj_id2].final_oam.attr1 |= 0x2000;
139
 
136
 
140
-        superstate.sprites[*temp_obj_id2].x = *mug2_x;
141
-        superstate.sprites[*temp_obj_id2].y = *mug2_y;
137
+        objects[*temp_obj_id2].x = *mug2_x;
138
+        objects[*temp_obj_id2].y = *mug2_y;
142
     }
139
     }
143
 }
140
 }
144
 
141
 
155
 
152
 
156
         //*mug1_var = objects[object_id_1].private[0];
153
         //*mug1_var = objects[object_id_1].private[0];
157
 
154
 
158
-        obj_delete_and_free_tiles(&(superstate.sprites[*temp_obj_id1]));
155
+        obj_delete_and_free_tiles(&(objects[*temp_obj_id1]));
159
         *temp_obj_id1 = 0;
156
         *temp_obj_id1 = 0;
160
     }
157
     }
161
 
158
 
169
 
166
 
170
         //*mug2_var = objects[object_id_2].private[0];
167
         //*mug2_var = objects[object_id_2].private[0];
171
 
168
 
172
-        obj_delete_and_free_tiles(&(superstate.sprites[*temp_obj_id2]));
169
+        obj_delete_and_free_tiles(&(objects[*temp_obj_id2]));
173
         *temp_obj_id2 = 0;
170
         *temp_obj_id2 = 0;
174
     }
171
     }
175
 
172
 

+ 4
- 1
src/specials/custom_specials.c View File

55
  */
55
  */
56
 void sp_special_casm();
56
 void sp_special_casm();
57
 
57
 
58
+void get_text_pointer_from_lookup();
59
+
58
 /* === STATICS === */
60
 /* === STATICS === */
59
 
61
 
60
-static callback special_routines[5] = {
62
+static callback special_routines[6] = {
61
     met_play,
63
     met_play,
62
     cam_sp_move_camera,
64
     cam_sp_move_camera,
63
     sp_init_script,
65
     sp_init_script,
64
     debug_some_test,
66
     debug_some_test,
65
     sp_dns_switch,
67
     sp_dns_switch,
68
+    get_text_pointer_from_lookup+1,
66
 };
69
 };
67
 
70
 
68
 /* === IMPLEMENTATIONS === */
71
 /* === IMPLEMENTATIONS === */

+ 2
- 2
src/specials/cutscene_meteor.c View File

338
 	obj_gpu_tile_decompress_alloc_tag_and_upload(&gfx_meteor);
338
 	obj_gpu_tile_decompress_alloc_tag_and_upload(&gfx_meteor);
339
 
339
 
340
 	u8 meteor_id = obj_template_instanciate_forward_search(&template_meteor, 0, 100, 1);
340
 	u8 meteor_id = obj_template_instanciate_forward_search(&template_meteor, 0, 100, 1);
341
-	superstate.sprites[meteor_id].x = 200;
342
-	superstate.sprites[meteor_id].y = 0;
341
+	objects[meteor_id].x = 200;
342
+	objects[meteor_id].y = 0;
343
 
343
 
344
 	memory->animate_clouds = 1;
344
 	memory->animate_clouds = 1;
345
 }
345
 }

+ 12
- 0
src/specials/load_text_special.c View File

1
+#include <types.h>
2
+#include <game_engine.h>
3
+#include <config.h>
4
+extern char** text_lookup_array;   
5
+
6
+void** loadpointer = (void**)((0x03000EB0 + 0x64));
7
+extern char* get_text_pointer_from_lookup();
8
+void sp_load_text_person()
9
+{
10
+    *loadpointer = get_text_pointer_from_lookup();
11
+    return;
12
+}

+ 64
- 0
src/specials/script_overrides.c View File

1
+/****************************************************************************
2
+ * Copyright (C) 2015-2016 by the SotS Team                                 *
3
+ *                                                                          *
4
+ * This file is part of Sovereign of the Skies.                             *
5
+ *                                                                          *
6
+ *   Sovereign of the Skies is free software: you can redistribute it       *
7
+ *   and/or modify it                                                       *
8
+ *   under the terms of the GNU Lesser General Public License as published  *
9
+ *   by the Free Software Foundation, either version 3 of the License, or   *
10
+ *   (at your option) any later version provided you include a copy of the  *
11
+ *   licence and this header.                                               *
12
+ *                                                                          *
13
+ *   Sovereign of the Skies is distributed in the hope that it will be      *
14
+ *   useful, but WITHOUT ANY WARRANTY; without even the implied warranty of *
15
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
16
+ *   GNU Lesser General Public License for more details.                    *
17
+ *                                                                          *
18
+ *   You should have received a copy of the GNU Lesser General Public       *
19
+ *   License along with Sovereign of the Skies.                             *
20
+ *   If not, see <http://www.gnu.org/licenses/>.                            *
21
+ ****************************************************************************/
22
+
23
+/**
24
+ * @file script_overrides.c
25
+ * @author Sturmvogel
26
+ * @date 01 Jan 2016
27
+ * @brief Override some internal script commands e.g. end
28
+ *
29
+ */
30
+
31
+
32
+/* === INCLUDE === */
33
+
34
+#include <game_engine.h>
35
+#include <types.h>
36
+#include <config.h>
37
+
38
+/* === PROTOTYPES === */
39
+
40
+/**
41
+ * @brief set the script environment to end_of_script
42
+ */
43
+extern void script_mode_set_stopped();
44
+
45
+/**
46
+ * @brief command to end a script
47
+ * @return always false (for the script environment)
48
+ */
49
+u8 s02_end();
50
+
51
+/* === IMPLEMENTATIONS === */
52
+
53
+u8 s02_end()
54
+{
55
+    var_set(MUGHSOT_1_TABLE, 0);
56
+    var_set(MUGHSOT_2_TABLE, 0);
57
+    var_set(MUGSHOT_1_X, 0);
58
+    var_set(MUGSHOT_2_X, 0);
59
+    var_set(MUGSHOT_1_Y, 0);
60
+    var_set(MUGSHOT_2_Y, 0);
61
+    var_set(TEXT_VAR, 0);
62
+    script_mode_set_stopped();
63
+    return false;
64
+}

+ 8
- 8
string/de/item_data.txt View File

3396
 @hword 339, 0
3396
 @hword 339, 0
3397
 @byte ITEM_EFFECT_NOEFFECT, 0
3397
 @byte ITEM_EFFECT_NOEFFECT, 0
3398
 @word str_item_description_vm_01
3398
 @word str_item_description_vm_01
3399
-@byte 1, 0, 4, 1
3399
+@byte 0, 0, 4, 1
3400
 @word 0x0
3400
 @word 0x0
3401
 @byte 0, 0, 0, 0
3401
 @byte 0, 0, 0, 0
3402
 @word 0x0
3402
 @word 0x0
3406
 @hword 340, 0
3406
 @hword 340, 0
3407
 @byte ITEM_EFFECT_NOEFFECT, 0
3407
 @byte ITEM_EFFECT_NOEFFECT, 0
3408
 @word str_item_description_vm_02
3408
 @word str_item_description_vm_02
3409
-@byte 1, 0, 4, 1
3409
+@byte 0, 0, 4, 1
3410
 @word 0x0
3410
 @word 0x0
3411
 @byte 0, 0, 0, 0
3411
 @byte 0, 0, 0, 0
3412
 @word 0x0
3412
 @word 0x0
3416
 @hword 341, 0
3416
 @hword 341, 0
3417
 @byte ITEM_EFFECT_NOEFFECT, 0
3417
 @byte ITEM_EFFECT_NOEFFECT, 0
3418
 @word str_item_description_vm_03
3418
 @word str_item_description_vm_03
3419
-@byte 1, 0, 4, 1
3419
+@byte 0, 0, 4, 1
3420
 @word 0x0
3420
 @word 0x0
3421
 @byte 0, 0, 0, 0
3421
 @byte 0, 0, 0, 0
3422
 @word 0x0
3422
 @word 0x0
3426
 @hword 342, 0
3426
 @hword 342, 0
3427
 @byte ITEM_EFFECT_NOEFFECT, 0
3427
 @byte ITEM_EFFECT_NOEFFECT, 0
3428
 @word str_item_description_vm_04
3428
 @word str_item_description_vm_04
3429
-@byte 1, 0, 4, 1
3429
+@byte 0, 0, 4, 1
3430
 @word 0x0
3430
 @word 0x0
3431
 @byte 0, 0, 0, 0
3431
 @byte 0, 0, 0, 0
3432
 @word 0x0
3432
 @word 0x0
3436
 @hword 343, 0
3436
 @hword 343, 0
3437
 @byte ITEM_EFFECT_NOEFFECT, 0
3437
 @byte ITEM_EFFECT_NOEFFECT, 0
3438
 @word str_item_description_vm_05
3438
 @word str_item_description_vm_05
3439
-@byte 1, 0, 4, 1
3439
+@byte 0, 0, 4, 1
3440
 @word 0x0
3440
 @word 0x0
3441
 @byte 0, 0, 0, 0
3441
 @byte 0, 0, 0, 0
3442
 @word 0x0
3442
 @word 0x0
3446
 @hword 344, 0
3446
 @hword 344, 0
3447
 @byte ITEM_EFFECT_NOEFFECT, 0
3447
 @byte ITEM_EFFECT_NOEFFECT, 0
3448
 @word str_item_description_vm_06
3448
 @word str_item_description_vm_06
3449
-@byte 1, 0, 4, 1
3449
+@byte 0, 0, 4, 1
3450
 @word 0x0
3450
 @word 0x0
3451
 @byte 0, 0, 0, 0
3451
 @byte 0, 0, 0, 0
3452
 @word 0x0
3452
 @word 0x0
3456
 @hword 345, 0
3456
 @hword 345, 0
3457
 @byte ITEM_EFFECT_NOEFFECT, 0
3457
 @byte ITEM_EFFECT_NOEFFECT, 0
3458
 @word str_item_description_vm_07
3458
 @word str_item_description_vm_07
3459
-@byte 1, 0, 4, 1
3459
+@byte 0, 0, 4, 1
3460
 @word 0x0
3460
 @word 0x0
3461
 @byte 0, 0, 0, 0
3461
 @byte 0, 0, 0, 0
3462
 @word 0x0
3462
 @word 0x0
3466
 @hword 346, 0
3466
 @hword 346, 0
3467
 @byte ITEM_EFFECT_NOEFFECT, 0
3467
 @byte ITEM_EFFECT_NOEFFECT, 0
3468
 @word str_item_description_vm_08
3468
 @word str_item_description_vm_08
3469
-@byte 1, 0, 4, 1
3469
+@byte 0, 0, 4, 1
3470
 @word 0x0
3470
 @word 0x0
3471
 @byte 0, 0, 0, 0
3471
 @byte 0, 0, 0, 0
3472
 @word 0x0
3472
 @word 0x0

+ 14
- 0
string/de/story_text/tundra_hq/globals.txt View File

1
+str_tundra_hq_name=Tundra HQ
2
+str_tundra_hq_0=Wähle deinen Schwierigkeitsgrad\naus, um das Spiel zu beginnen!
3
+str_tundra_hq_1=Bist du sicher, dass du in diesem\nModus spielen möchtest?
4
+str_tundra_hq_2=Dann wähle einen anderen Modus!
5
+str_tundra_hq_3=Bist du ein Anfänger, was Pokémon\nangeht?\pDann ist dieser Modus genau\nrichtig!\pIn diesem Modus sind deine Gegner\nleicht zu bezwingen, da sie kaum\lbis selten Items in ihren Kämpfen\leinsetzen.\pAuch sind die Rätsel in diesem\nSpiel vereinfachter erklärt.
6
+str_tundra_hq_4=Du bist weder ein Anfänger noch\nein Experte?\pDann ist dieser Modus genau\nrichtig!\pIn diesem Modus stellen nur einige\nGegner eine Herausforderung dar.\pDie Nutzung von Items in den\nKämpfen kommt hier häufiger vor\lund auch die Rätsel sind\lkomplizierter aufgebaut.
7
+str_tundra_hq_5=Du bist ein absoluter Experte, was\nPokémon angeht?\pDann ist dieser Modus genau\nrichtig!\pIn diesem Modus stellen die\nwichtigen Kämpfe eine enorme\lHerausforderung dar.\pDie Gegner sind vergleichsweise\nstark wie im Competitive und\ldessen Pokémon tragen enorm\lstrategisch starke Items.\pAuch die Rätsel in diesem Modus\nsind komplizierter und knifflig.
8
+str_tundra_hq_6=Dein Spiel beginnt, viel Spaß!
9
+str_tundra_hq_7=Hochgeschätzte Mitglieder von Team\nTundra!\pLang haben wir gelitten unter den\nFolgen einer Katastrophe, für die\lweder wir, noch unsere Vorfahren\lzur Verantwortung gezogen werden\lkönnen!\pDas ewige Eis hat unsere geliebte\nHeimat verschlungen.\pNun ist es an der Zeit aufzustehen\nund in Ordnung zu bringen, was in\lder Vergangenheit schief gelaufen\list.\pWir werden nicht länger auf unseren\nUntergang warten - wir werden ihn\lverhindern!
10
+str_tundra_hq_8=Doch was können wir tun, um unserem\nSchicksal zu entgehen?\pDie, die als die Herrscher der\nLüfte bekannt sind, haben vor\lvielen Dekaden die Welt vor ihrem\lsicheren Untergang bewahrt.\pWir, die Nachkommen der damals\nVerdammten, mögen allein vielleicht\lzu schwach sein.\pAber mithilfe der Retter, die schon\nvor vielen Jahren auftauchten, als\ldie Welt kaum einen Schritt von dem\lAbgrund entfernt war, können auch\lwir gerettet werden.
11
+str_tundra_hq_9=Der Einsatz beginnt in Urbania City\nbei Anbruch der Dunkelheit.\pIch bitte um äußerste Vorsicht, es\nsoll niemand unnötig zu Schaden\lkommen!\pDie heiligen Steine aus der Ruine\nvon Glaziera werden unserem Leid\lein Ende bereiten. Zügelt also\leuren Zorn und versucht, nicht zu\lviel Aufmerksamkeit zu erregen.
12
+str_tundra_hq_10=JAWOHL!!!
13
+str_tundra_hq_11=Nun ist es endlich soweit! Unser\nZiel ist zum Greifen nah!
14
+str_tundra_hq_12=Ich hoffe du hast recht\.\pNach allem, was passiert ist, haben\nauch wir es verdient, endlich\lwieder einen Hauch von Wärme zu\lspüren.

+ 2
- 0
string/de/text.txt View File

1
+str_person_test=Dies ist ein Test\num die Funktionalität\lzu testen!
2
+str_person_zero=Falscher Text!

+ 5
- 0
string/de/text_multichoices.txt View File

1
+str_yes=Ja
2
+str_no=Nein
3
+str_beginner=Anfänger
4
+str_intermediate=Fortgeschritten
5
+str_expert=Experte

+ 2
- 1
string/table.tbl View File

79
 ü=0xF6
79
 ü=0xF6
80
 :=0xF0
80
 :=0xF0
81
 \e=0x35
81
 \e=0x35
82
-\p=0xFD
82
+\l=0xFA
83
+\p=0xFB
83
 \n=0xFE
84
 \n=0xFE
84
 \x=0xFF
85
 \x=0xFF