-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathmakefile.gfx
728 lines (548 loc) · 26.9 KB
/
makefile.gfx
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
#----------------------------------------------------------------------------
# MAKEFILE.GFX
#
# Makes all the graphics and data needed for the game
#
# Tabbed for 5 9 (Please do not change)
#
# Created: 10th February 1999 GRLiddon()
#
# Copyright (C) 1997-1999 G R Liddon
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Default Target
# --------------
.PHONY: default
default: all
#----------------------------------------------------------------------------
# Name of the project
# --------------------
PROJ := spongey
#----------------------------------------------------------------------------
BUILD_DIR := build
#----------------------------------------------------------------------------
# Includes
# --------
include $(BUILD_DIR)/globals.mak
include $(BUILD_DIR)/getuser.mak
include $(BUILD_DIR)/parse.mak
include $(BUILD_DIR)/outdirs.mak
TEMP_FILE := $(TEMP_BUILD_DIR)/build.tmp
#----------------------------------------------------------------------------
#--- Levels -----------------------------------------------------------------
#----------------------------------------------------------------------------
LEVELS_OPTS := -t:8,3,1 -s:16 -l -q
LEVELS_IN_DIR := $(GRAF_DIR)/levels
LEVELS_OUT_DIR := $(DATA_OUT)/levels
LEVELS_MAKEFILE_DIR := $(TEMP_BUILD_DIR)/levels
LEVELS_DIRS_TO_MAKE := $(LEVELS_MAKEFILE_DIR) $(LEVELS_OUT_DIR)
CHAPTER01_LEVEL04_OPTS := -t:8,4,1
CHAPTER02_LEVEL03_OPTS := -t:8,2,1
CHAPTER02_LEVEL04_OPTS := -t:8,2,1
CHAPTER04_LEVEL03_OPTS := -t:8,2,1
CHAPTER05_LEVEL01_OPTS := -t:8,2,1
CHAPTER06_LEVEL03_OPTS := -t:8,2,1
CHAPTER06_LEVEL04_OPTS := -t:8,2,1
FMA_SHADYSHOALS_OPTS := -t:8,4,1
LEVELS_CHAPTERS := CHAPTER01 CHAPTER02 CHAPTER03 CHAPTER04 CHAPTER05 CHAPTER06 FMA
LEVELS_CHAPTER01 := LEVEL01 LEVEL02 LEVEL03 LEVEL04
LEVELS_CHAPTER02 := LEVEL01 LEVEL02 LEVEL03 LEVEL04
LEVELS_CHAPTER03 := LEVEL01 LEVEL02 LEVEL03 LEVEL04
LEVELS_CHAPTER04 := LEVEL01 LEVEL02 LEVEL03 LEVEL04
LEVELS_CHAPTER05 := LEVEL01 LEVEL02 LEVEL03 LEVEL04
LEVELS_CHAPTER06 := LEVEL01 LEVEL02 LEVEL03 LEVEL04 LEVEL05
LEVELS_FMA := SHADYSHOALS CONTROLROOM
LEVELS_MAKEFILES := $(foreach CHAPTER,$(LEVELS_CHAPTERS),$(foreach LEVEL,$(LEVELS_$(CHAPTER)),$(LEVELS_MAKEFILE_DIR)/$(CHAPTER)_$(LEVEL).mak))
$(LEVELS_MAKEFILES): $(LEVELS_DIRS_TO_MAKE) makefile.gfx $(BUILD_DIR)/mklevel.pl
@$(PL) $(BUILD_DIR)/mklevel.pl $@ $(notdir $(basename $@))
include $(LEVELS_MAKEFILES)
LEVELS_ALL_OUT := $(foreach CHAPTER,$(LEVELS_CHAPTERS),$(foreach LEVEL,$(LEVELS_$(CHAPTER)),$($(CHAPTER)_$(LEVEL)_OUT)))
GFX_DATA_OUT += $(LEVELS_ALL_OUT)
levels : $(LEVELS_ALL_OUT)
@$(ECHO) Levels made
cleanlevels :
@$(RM) -f $(LEVELS_ALL_OUT)
@$(ECHO) Levels cleaned
#----------------------------------------------------------------------------
# Collision data
#----------------------------------------------------------------------------
#
# COLLISION_IN := $(TOOL_DIR)/mapedit/collision.bmp
#
# COLLISION_OUT_DIR := $(DATA_OUT)/collision
# COLLISION_OUT := $(COLLISION_OUT_DIR)/colltab.dat
#
# collision : $(COLLISION_OUT)
#
# cleancollision:
# @$(RM) -f $(COLLISION_OUT)
# @$(ECHO) Collision table cleaned
#
# $(COLLISION_OUT) : $(COLLISION_IN)
# @$(DATA_BIN_DIR)/mkcoltab $(COLLISION_IN) -o:$(COLLISION_OUT)
#
# GRAF_DIRS_TO_MAKE += $(COLLISION_OUT_DIR)
# GFX_DATA_OUT += $(COLLISION_OUT)
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Actors
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Anims and extra textures are held within script files in the character dirs
ACTOR_IN_DIR := $(GRAF_DIR)/Characters
ACTOR_SPRITE_DIR := Render/Psx
ACTOR_OUT_DIR := $(DATA_OUT)/Actors
ACTOR_MAKEFILE_DIR := $(TEMP_BUILD_DIR)/actor
ACTOR_DIRS_TO_MAKE := $(ACTOR_MAKEFILE_DIR) $(ACTOR_OUT_DIR)
MKACTOR_OPTS:= -c:16
ACTOR_SPONGEBOB := SpongeBob SpongeBob_CoralBlower SpongeBob_JellyLauncher SpongeBob_Net SpongeBob_Glove SpongeBob_Wand SpongeBob_JellyFish SpongeBob_FMA SpongeBob_FMA_ITEMOFS
ACTOR_NPC := BarnacleBoy BarnacleBoy_FMA_ITEMOFS Krusty Squidward Gary Sandy Patrick MermaidMan MermaidMan_FMA_ITEMOFS
ACTOR_ENEMY := Anenome BabyOctopus Ballblob Caterpillar clam Dustdevil \
Flamingskull FlyingDutchman Ghost HermitCrab IronDogFish \
PuffaFish Manray Skeletalfish SpiderCrab SpikeyAnenome Stomper \
SharkSub Motherjellyfish SeaSnake GiantWorm Plankton
# Boogermonster Nautilus Neptune
ACTOR_SPRITES := Jellyfish1 Squiddart Butterfly Shell Eyeball
ACTOR_SPR_LIST := $(foreach ACTOR,$(ACTOR_SPRITES), $(ACTOR_IN_DIR)/$(ACTOR)/$(ACTOR_SPRITE_DIR)/$(ACTOR)_*.bmp)
ACTOR_SPR_DEP := $(foreach ACTOR,$(ACTOR_SPRITES), $(ACTOR_IN_DIR)/$(ACTOR)/$(ACTOR_SPRITE_DIR)/*)
ACTOR_SPR_IN := -r- -c+ -z+ $(ACTOR_SPR_LIST)
ACTOR_LIST := $(ACTOR_SPONGEBOB) $(ACTOR_NPC) $(ACTOR_ENEMY)
ACTOR_MAKEFILES := $(foreach ACTOR,$(ACTOR_LIST),$(ACTOR_MAKEFILE_DIR)/$(ACTOR).mak)
$(ACTOR_MAKEFILES): $(ACTOR_DIRS_TO_MAKE) makefile.gfx $(BUILD_DIR)/mkactor.pl
@$(PL) $(BUILD_DIR)/mkactor.pl $@ $(notdir $(basename $@))
include $(ACTOR_MAKEFILES)
ACTOR_ALL_OUT := $(foreach ACTOR,$(ACTOR_LIST),$($(ACTOR)_OUT))
GFX_DATA_OUT += $(ACTOR_ALL_OUT)
actors : $(ACTOR_ALL_OUT)
@$(ECHO) $(ACTOR_SPRITE_LIST)
@$(ECHO) Actors made
cleanactors :
@$(RM) -f $(ACTOR_ALL_OUT)
@$(ECHO) Actors cleaned
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Generic Sprite page
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Special Effect graphics
#----------------------------------------------------------------------------
SFX_GFX_DIR := $(GRAF_DIR)/sfx
SFX_GFX := +smoke.bmp \
+explosion0001.bmp +explosion0002.bmp +explosion0003.bmp +explosion0004.bmp +explosion0005.bmp +explosion0006.bmp +explosion0007.bmp +explosion0008.bmp\
+splash001.bmp +splash002.bmp +splash003.bmp +splash004.bmp +splash005.bmp +splash006.bmp \
+fire01.bmp +fire02.bmp +fire03.bmp +fire04.bmp +fire05.bmp +fire06.bmp +fire07.bmp +fire08.bmp\
+drip.bmp +bubblepop.bmp \
+Gush000.bmp +Gush001.bmp +Gush002.bmp +Gush003.bmp +GushBase.bmp \
+cog01.bmp +elecvalve.bmp\
+leg.bmp +thwack.bmp +lightning1.bmp +lightning2.bmp +Healthbubble.bmp
SFX_GFX_IN := $(foreach FILE,$(SFX_GFX),$(SFX_GFX_DIR)/$(FILE))
####
SFXGFX_SPR_DEP := $(SFX_GFX_IN)
SFXGFX_SPR_IN := -z- -c+ $(SFX_GFX_IN) -z+ -c-
#----------------------------------------------------------------------------
# Ingame graphics and UI
#----------------------------------------------------------------------------
INGAMEFX_GFX_NONTRANS_DIR :=$(GRAF_DIR)/ingamefx
INGAMEFX_GFX_NONTRANS :=
INGAMEFX_GFX_NONTRANS_IN := $(foreach FILE,$(INGAMEFX_GFX_NONTRANS),$(INGAMEFX_NONTRANS_DIR)/$(FILE))
PICKUP_GFX_DIR := $(GRAF_DIR)/pickups
PICKUP_GFX := +spatula +token +pants +glint1 +glint2 +glint3 +glint4 \
+questitemstar1 +questitemstar2 +questitemstar3 \
+jellyammo +bubblemixture +bubblewand +shoe +balloon +balloonburst +helmet \
+blower +launcher +net +glove \
+c1_l1_quest_item +c1_l2_quest_item +c1_l3_quest_item +c1_l4_quest_item \
+c2_l1_quest_item +c2_l2_quest_item +c2_l3_quest_item +c2_l4_quest_item \
+c3_l1_quest_item +c3_l2_quest_item +c3_l3_quest_item +c3_l4_quest_item \
+c4_quest_item_1 +c4_quest_item_2 \
+c5_l1_quest_item +c5_l2_quest_item +c5_l3_quest_item +c5_l4_quest_item \
+sandwich +makeupbag +Uniform +toolbox +autograph
PICKUP_GFX_IN := $(foreach FILE,$(PICKUP_GFX),$(PICKUP_GFX_DIR)/$(FILE).bmp)
INGAMEFX_GFX_DIR := $(GRAF_DIR)/ingamefx
INGAMEFX_GFX_TRANS := +watermeter +waterhilight +netblob \
+spike +sharkmine +snakebile
INGAMEFX_GFX_TRANS_NONROT_NONCLIP := +bubble_1 +bubble_2 +bubble_3 \
+water +aim_arrow
INGAMEFX_GFX_TRANS_IN := $(foreach FILE,$(INGAMEFX_GFX_TRANS),$(INGAMEFX_GFX_DIR)/$(FILE).bmp)
INGAMEFX_GFX_TRANS_NONROT_NONCLIP_IN := $(foreach FILE,$(INGAMEFX_GFX_TRANS_NONROT_NONCLIP),$(INGAMEFX_GFX_DIR)/$(FILE).bmp)
####
UI_GFX_DIR := $(GRAF_DIR)/ui
UI_FONT_DIR := $(GRAF_DIR)/font
UI_GFX_FONT := smallfont/+33 smallfont/+34 smallfont/+37 smallfont/+39 smallfont/+40 \
smallfont/+41 smallfont/+42 smallfont/+43 smallfont/+44 smallfont/+45 \
smallfont/+46 smallfont/+47 smallfont/+48 smallfont/+49 smallfont/+50 \
smallfont/+51 smallfont/+52 smallfont/+53 smallfont/+54 smallfont/+55 \
smallfont/+56 smallfont/+57 smallfont/+58 smallfont/+60 \
smallfont/+61 smallfont/+62 smallfont/+63 smallfont/+65 \
smallfont/+66 smallfont/+67 smallfont/+68 smallfont/+69 smallfont/+70 \
smallfont/+71 smallfont/+72 smallfont/+73 smallfont/+74 smallfont/+75 \
smallfont/+76 smallfont/+77 smallfont/+78 smallfont/+79 smallfont/+80 \
smallfont/+81 smallfont/+82 smallfont/+83 smallfont/+84 smallfont/+85 \
smallfont/+86 smallfont/+87 smallfont/+88 smallfont/+89 smallfont/+90 \
smallfont/+95 smallfont/+97 smallfont/+98 smallfont/+99 \
smallfont/+100 smallfont/+101 smallfont/+102 smallfont/+103 smallfont/+104 \
smallfont/+105 smallfont/+106 smallfont/+107 smallfont/+108 smallfont/+109 \
smallfont/+110 smallfont/+111 smallfont/+112 smallfont/+113 smallfont/+114\
smallfont/+115 smallfont/+116 smallfont/+117 smallfont/+118 smallfont/+119 \
smallfont/+120 smallfont/+121 smallfont/+122 smallfont/+140 smallfont/+192 \
smallfont/+193 smallfont/+194 smallfont/+195 smallfont/+196 \
smallfont/+197 smallfont/+198 smallfont/+199 smallfont/+200 smallfont/+201 \
smallfont/+202 smallfont/+203 smallfont/+204 smallfont/+205 smallfont/+206 \
smallfont/+207 smallfont/+208 smallfont/+210 smallfont/+211 smallfont/+212 \
smallfont/+213 smallfont/+214 smallfont/+216 smallfont/+217 smallfont/+218 \
smallfont/+219 smallfont/+220 smallfont/+221 smallfont/+222 smallfont/+223 \
smallfont/+224 smallfont/+225 smallfont/+226 smallfont/+227 smallfont/+228 \
smallfont/+230 smallfont/+232 smallfont/+233 smallfont/+234 smallfont/+235 \
smallfont/+236 smallfont/+237 smallfont/+238 smallfont/+239 smallfont/+242 \
smallfont/+243 smallfont/+244 smallfont/+245 smallfont/+246 smallfont/+249 \
smallfont/+250 smallfont/+251 smallfont/+252 smallfont/+253 smallfont/+255 \
smallfont/+error
UI_GFX_FONT_IN := $(foreach FILE,$(UI_GFX_FONT),$(UI_FONT_DIR)/$(FILE).bmp)
UI_GFX_NONTRANS :=
UI_GFX_NONTRANS_IN := $(foreach FILE,$(UI_GFX_NONTRANS),$(UI_GFX_DIR)/$(FILE))
UI_GFX_TRANS := +bambootopleft.bmp +bamboobotleft.bmp +bambootopright.bmp +bamboobotright.bmp \
+bamboohorizontal.bmp +bamboovertical.bmp \
+slider_marker.bmp \
+butU.bmp +butD.bmp +butL.bmp +butR.bmp \
+butC.bmp +butS.bmp +butX.bmp +butT.bmp \
+mappointer.bmp +speechbubblecorner.bmp \
faces/mr_krabs.bmp faces/patrick.bmp faces/plankton.bmp \
faces/sandy.bmp faces/spongebob.bmp faces/squidward.bmp \
faces/mermaidman.bmp faces/barnacleboy.bmp faces/gary.bmp \
+helpbox1.bmp +helpbox2.bmp +helpbox3.bmp +helpbox4.bmp \
+small_balloon.bmp +small_blower.bmp +small_bubblewand.bmp +small_launcher.bmp +small_net.bmp \
map/+map_arrow.bmp
UI_GFX_TRANS_IN := $(foreach FILE,$(UI_GFX_TRANS),$(UI_GFX_DIR)/$(FILE))
####
INGAMEGFX_SPR_DEP := $(INGAMEFX_GFX_NONTRANS_IN) $(INGAMEFX_GFX_TRANS_IN) $(INGAMEFX_GFX_TRANS_NONROT_NONCLIP_IN) \
$(PICKUP_GFX_IN) $(UI_GFX_FONT_IN) $(UI_GFX_NONTRANS_IN) $(UI_GFX_TRANS_IN)
INGAMEGFX_SPR_IN := -c+ -z+ $(INGAMEFX_GFX_TRANS_IN) $(PICKUP_GFX_IN) $(UI_GFX_FONT_IN) $(UI_GFX_TRANS_IN) \
-c- -z- $(INGAMEFX_GFX_NONTRANS_IN) $(UI_GFX_NONTRANS_IN) \
-c- -q- -z+ -r- $(INGAMEFX_GFX_TRANS_NONROT_NONCLIP_IN) -q+
#----------------------------------------------------------------------------
# Front end graphics
#----------------------------------------------------------------------------
FRONTEND_GFX_DIR := $(GRAF_DIR)/frontend
# FRONTEND_GFX_OUT_DIR := $(DATA_OUT)/frontend
FRONTEND_GFX_NONTRANS :=
FRONTEND_GFX_NONTRANS_IN := $(foreach FILE,$(FRONTEND_GFX_NONTRANS),$(FRONTEND_GFX_DIR)/$(FILE))
FRONTEND_GFX_TRANS := +bg3.bmp +bg5.bmp +bg7.bmp +bg8.bmp +bg9.bmp +caustic1.bmp +caustic2.bmp
FRONTEND_GFX_TRANS_IN := $(foreach FILE,$(FRONTEND_GFX_TRANS),$(FRONTEND_GFX_DIR)/$(FILE))
FRONTEND_GFX_TRANS_NO_ROT := +sblogo.bmp
FRONTEND_GFX_TRANS_NO_ROT_IN := $(foreach FILE,$(FRONTEND_GFX_TRANS_NO_ROT),$(FRONTEND_GFX_DIR)/$(FILE))
####
FRONTENDGFX_SPR_DEP := $(FRONTEND_GFX_NONTRANS_IN) $(FRONTEND_GFX_TRANS_IN) $(FRONTEND_GFX_TRANS_NO_ROT_IN)
FRONTENDGFX_SPR_IN := -r- -z+ $(FRONTEND_GFX_TRANS_NO_ROT_IN) -r+ \
$(FRONTEND_GFX_TRANS_IN) \
-z- $(FRONTEND_GFX_NONTRANS_IN)
# cleanfrontend :
# @$(RM) -f $(FRONTEND_GFX_TEX_OUT)
# @$(ECHO) Frontend Cleaned
#
# frontend: $(FRONTEND_GFX_TEX_IN)
#
# $(FRONTEND_GFX_TEX_OUT) : $(FRONTEND_GFX_TEX_IN)
# @parkgrab -r- -z+ $(FRONTEND_GFX_TRANS_NO_ROT_IN) -r+ $(FRONTEND_GFX_TRANS_IN) -z- $(FRONTEND_GFX_NONTRANS_IN) -b+ -t:13,1,1 -l:$(REPORT_DIR)/frontend.lbm -o:$(FRONTEND_GFX_TEX_OUT) -k:$(FRONTEND_GFX_REP_FILE)
# @$(MV) -f $(FRONTEND_GFX_OUT_DIR)/frontend.h $(FRONTEND_GFX_HDR_FILE)
#
# GRAF_DIRS_TO_MAKE += $(FRONTEND_GFX_OUT_DIR)
# GFX_DATA_OUT += $(FRONTEND_GFX_TEX_OUT)
#----------------------------------------------------------------------------
# Shop icons
#----------------------------------------------------------------------------
SHOP_GFX_DIR := $(GRAF_DIR)/shop
SHOP_GFX_OUT_DIR := $(DATA_OUT)/shop
SHOP_GFX_TRANS := blower cake cupcake jelly2 partyhat prezzie sarnie teddy smalltoken
SHOP_GFX_TRANS_IN := $(foreach FILE,$(SHOP_GFX_TRANS),$(SHOP_GFX_DIR)/$(FILE).bmp)
SHOP_GFX_TEX_OUT := $(SHOP_GFX_OUT_DIR)/shop.spr
SHOP_GFX_HDR_OUT := $(INC_DIR)/shop.h
cleanshop:
@$(RM) -f $(SHOP_GFX_TEX_OUT)
@$(ECHO) Shop Cleaned
shop: $(SHOP_GFX_TEX_IN)
$(SHOP_GFX_TEX_OUT) : $(SHOP_GFX_TEX_IN)
@parkgrab -z+ $(SHOP_GFX_TRANS_IN) -b+ -t:8,1,1 -l:$(REPORT_DIR)/shop.lbm -o:$(SHOP_GFX_TEX_OUT)
@$(MV) -f $(SHOP_GFX_OUT_DIR)/shop.h $(SHOP_GFX_HDR_OUT)
GRAF_DIRS_TO_MAKE += $(SHOP_GFX_OUT_DIR)
GFX_DATA_OUT += $(SHOP_GFX_TEX_OUT)
#----------------------------------------------------------------------------
# Party pieces
#----------------------------------------------------------------------------
PARTY_GFX_DIR := $(GRAF_DIR)/party
PARTY_GFX_OUT_DIR := $(DATA_OUT)/party
PARTY_GFX_TRANS := balloons1 balloons2 balloons3 balloons4 balloons5 balloons6 balloons7 balloons8 \
banner1 banner2 banner3 banner4 banner5 banner6 banner7 \
bigcake \
cherrycakes \
cucumbersarnies \
jelly \
pressies1 pressies2 pressies3 pressies4 \
sliceofcake \
softtoys1 softtoys2 softtoys3 \
streamers1 streamers2 streamers3 streamers4 streamers5 streamers6 \
tablefront1 tablefront2 tablefront3 tablefront4 tablefront5 tablefront6 tablefront7 \
tableside1 tableside2 tableside3
PARTY_GFX_TRANS_IN := $(foreach FILE,$(PARTY_GFX_TRANS),$(PARTY_GFX_DIR)/$(FILE).bmp)
PARTY_GFX_TEX_OUT := $(PARTY_GFX_OUT_DIR)/party.spr
PARTY_GFX_HDR_OUT := $(INC_DIR)/party.h
PARTY_GFX_REP_FILE := $(PARTY_GFX_OUT_DIR)/rep.txt
cleanparty:
@$(RM) -f $(PARTY_GFX_TEX_OUT)
@$(ECHO) Party Cleaned
party: $(PARTY_GFX_TEX_IN)
$(PARTY_GFX_TEX_OUT) : $(PARTY_GFX_TEX_IN)
@parkgrab -c- -z+ -r+ -q+ $(PARTY_GFX_TRANS_IN) -b+ -t:8,4,1 -l:$(REPORT_DIR)/party.lbm -o:$(PARTY_GFX_TEX_OUT) -k:$(PARTY_GFX_REP_FILE)
@$(MV) -f $(PARTY_GFX_OUT_DIR)/party.h $(PARTY_GFX_HDR_OUT)
GRAF_DIRS_TO_MAKE += $(PARTY_GFX_OUT_DIR)
GFX_DATA_OUT += $(PARTY_GFX_TEX_OUT)
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
SPRITES_OUT_DIR := $(DATA_OUT)/sprites
SPRITES_ALL_DEP := $(INGAMEGFX_SPR_DEP) \
$(FRONTENDGFX_SPR_DEP) \
$(ACTOR_SPR_DEP) \
$(SFXGFX_SPR_DEP)
SPRITES_ALL_IN := $(INGAMEGFX_SPR_IN) \
$(FRONTENDGFX_SPR_IN) \
$(ACTOR_SPR_IN) \
$(SFXGFX_SPR_IN)
SPRITES_TEX_OUT := $(SPRITES_OUT_DIR)/Sprites.Spr
SPRITES_HDR_OUT := $(INC_DIR)/Sprites.h
cleansprites:
@$(RM) -f $(SPRITES_TEX_OUT)
@$(RM) -f $(SPRITES_HDR_OUT)
@$(ECHO) Sprites Cleaned
sprites: $(SPRITES_ALL_DEP)
$(SPRITES_TEX_OUT) : $(SPRITES_ALL_DEP)
@$(PARKGRAB) -b+ $(SPRITES_ALL_IN) -t:12,4,1 -l:$(SPRITES_OUT_DIR)/sprites.lbm -o:$(SPRITES_TEX_OUT)
@$(MV) -f $(SPRITES_OUT_DIR)/sprites.h $(SPRITES_HDR_OUT)
@$(ECHO) Sprites Made
GRAF_DIRS_TO_MAKE += $(SPRITES_OUT_DIR)
GFX_DATA_OUT += $(SPRITES_TEX_OUT)
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Text translations
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
.PHONY: translate cleantranslate
LANGUAGES := swe \
dut \
ita \
ger
TRANS_IN_DIR := $(GAME_DATA_DIR)/translations
TRANS_OUT_DIR := $(DATA_OUT)/translations
TRANS_LBM_OUT_DIR := $(REPORT_DIR)/translations
TRANS_IN_ENG := $(TRANS_IN_DIR)/text.dat
TRANS_FINAL_DAT_FILE := $(TRANS_OUT_DIR)/final.dat
ALL_TRANS_OUT_DIRS := $(TRANS_OUT_DIR) \
$(TRANS_LBM_OUT_DIR)
ALL_TRANS_IN_FILES := $(foreach FILE,$(LANGUAGES),$(TRANS_IN_DIR)/$(FILE).dat)
TRANS_IN_FILES := $(TRANS_IN_ENG) $(ALL_TRANS_IN_FILES)
TRANS_OUT_DAT := $(foreach FILE, $(LANGUAGES),$(TRANS_OUT_DIR)/$(FILE).dat) $(TRANS_OUT_DIR)/id.dat $(TRANS_OUT_DIR)/eng.dat
#$(TRANS_OUT_KANJI_TAB)
TRANS_OUT_HDR := $(INC_DIR)/trans.h
SCRIPT_TRANS_HDR := $(GAME_DATA_DIR)/scripts/defs/trans.scr
TRANS_OUT_FILES := $(TRANS_OUT_HDR) $(TRANS_OUT_DAT) $(TRANS_OUT_LBM_LIST) $(TRANS_FINAL_DAT_FILE)
$(TRANS_OUT_FILES) : $(TRANS_IN_FILES)
@perl tools/perl/pl/lang.pl $(TRANS_IN_ENG) $(TRANS_FINAL_DAT_FILE) $(ALL_TRANS_IN_FILES)
@transtext $(LANG_OP) -h:$(TRANS_OUT_HDR) -o:$(TRANS_OUT_DIR) $(TRANS_FINAL_DAT_FILE)
@perl tools/perl/pl/text_extract.pl $(TRANS_OUT_HDR) $(SCRIPT_TRANS_HDR) STR__INGAME__
translate : $(TRANS_OUT_FILES)
@$(ECHO) made translations
cleantranslate:
@$(RM) -f $(TRANS_OUT_FILES)
@$(ECHO) Translations Cleaned
GFX_DATA_OUT += $(TRANS_OUT_DAT)
#----------------------------------------------------------------------------
# Big TGA backdrops
#----------------------------------------------------------------------------
BACKDROPS_IN_DIR := $(GRAF_DIR)/backdrop
BACKDROPS_IN := credits start1 start2 start3 start4 gameover shop partybackdrop nick
BACKDROPS_OUT_DIR := $(DATA_OUT)/backdrop
BACKDROPS_OUT := $(foreach SCREEN,$(BACKDROPS_IN),$(BACKDROPS_OUT_DIR)/$(SCREEN).gfx)
backdrops : $(BACKDROPS_OUT)
cleanbackdrops :
@$(RM) -f $(BACKDROPS_OUT)
@$(ECHO) Backdrops Cleaned
$(BACKDROPS_OUT_DIR)/%.gfx : $(BACKDROPS_IN_DIR)/%.tga
@$(TGA2GFX) $< a.tmp
@$(LZNP) a.tmp $@ >nul
@$(RM) a.tmp
GRAF_DIRS_TO_MAKE += $(BACKDROPS_OUT_DIR)
GFX_DATA_OUT += $(BACKDROPS_OUT)
#----------------------------------------------------------------------------
# Map screens
#----------------------------------------------------------------------------
MAPSCREENS_IN_DIR := $(GRAF_DIR)/ui/map
MAPSCREENS_IN := map_background \
c1_l1 c1_l2 c1_l3 c1_l4 c1_fair \
c2_l1 c2_l2 c2_l3 c2_l4 c2_fair \
c3_l1 c3_l2 c3_l3 c3_l4 c3_fair \
c4_l1 c4_l2 c4_l3 c4_l4 c4_fair \
c5_l1 c5_l2 c5_l3 c5_l4 c5_fair
MAPSCREENS_OUT_DIR := $(DATA_OUT)/ui/map
MAPSCREENS_OUT := $(foreach SCREEN,$(MAPSCREENS_IN),$(MAPSCREENS_OUT_DIR)/$(SCREEN).gfx)
MAPSCREENS : $(MAPSCREENS_OUT)
cleanmapscreens:
@$(RM) -f $(MAPSCREENS_OUT)
@$(ECHO) Map screens Cleaned
$(MAPSCREENS_OUT_DIR)/%.gfx : $(MAPSCREENS_IN_DIR)/%.tga
@$(TGA2GFX) $< a.tmp
@$(LZNP) a.tmp $@ >nul
@$(RM) a.tmp
GRAF_DIRS_TO_MAKE += $(MAPSCREENS_OUT_DIR)
GFX_DATA_OUT += $(MAPSCREENS_OUT)
#----------------------------------------------------------------------------
# Loading screens
#----------------------------------------------------------------------------
LOADINGSCREENS_IN_DIR := $(GRAF_DIR)/loadingscreens
LOADINGSCREENS_IN := culture karate monitor pickles pineapple pizza teenage bootscreen
LOADINGSCREENS_OUT_DIR := $(DATA_OUT)/loadingscreens
LOADINGSCREENS_OUT := $(foreach SCREEN,$(LOADINGSCREENS_IN),$(LOADINGSCREENS_OUT_DIR)/$(SCREEN).gfx)
loadingscreens : $(LOADINGSCREENS_OUT)
cleanloadingscreens :
@$(RM) -f $(LOADINGSCREENS_OUT)
@$(ECHO) Loadingscreens Cleaned
$(LOADINGSCREENS_OUT_DIR)/%.gfx : $(LOADINGSCREENS_IN_DIR)/%.tga
@$(TGA2GFX) $< a.tmp
@$(LZNP) a.tmp $@ >nul
@$(RM) a.tmp
GRAF_DIRS_TO_MAKE += $(LOADINGSCREENS_OUT_DIR)
GFX_DATA_OUT += $(LOADINGSCREENS_OUT)
#----------------------------------------------------------------------------
# Sound FX
#----------------------------------------------------------------------------
SFX_IN_DIR := data/SFX
SFX_OUT_DIR := $(DATA_OUT)/SFX
SFX_LIST := ingame
SFX_ALL_IN := $(foreach SFX,$(SFX_LIST),$(SFX_IN_DIR)/$(SFX)/$(SFX).PXM $(SFX_IN_DIR)/$(SFX)/$(SFX).VH $(SFX_IN_DIR)/$(SFX)/$(SFX).VB)
SFX_ALL_OUT := $(foreach SFX,$(SFX_LIST),$(SFX_OUT_DIR)/$(SFX).PXM $(SFX_OUT_DIR)/$(SFX).VH $(SFX_OUT_DIR)/$(SFX).VB)
sfx: $(SFX_ALL_OUT)
cleansfx:
@$(RM) -f $(SFX_ALL_OUT)
@$(ECHO) SFX Cleaned
$(SFX_ALL_OUT) : $(SFX_ALL_IN)
@$(CP) $(SFX_ALL_IN) $(SFX_OUT_DIR)
@$(ATTRIB) $(SFX_ALL_OUT)
GRAF_DIRS_TO_MAKE += $(SFX_OUT_DIR)
GFX_DATA_OUT += $(SFX_ALL_OUT)
#----------------------------------------------------------------------------
# Memcard file header
#----------------------------------------------------------------------------
MC_HEADER_IN_DIR := $(GAME_DATA_DIR)/memcard
MC_HEADER_IN := $(MC_HEADER_IN_DIR)/memhead.bin
MC_HEADER_OUT_DIR :=$(DATA_OUT)/memcard
MC_HEADER_OUT := $(MC_HEADER_OUT_DIR)/memhead.bin
mcheader: $(MC_HEADER_OUT)
cleanmcheader:
@$(RM) -f $(MC_HEADER_OUT)
@$(ECHO) MemCard Header Cleaned
$(MC_HEADER_OUT) : $(MC_HEADER_IN)
@$(CP) $(MC_HEADER_IN) $(MC_HEADER_OUT)
@$(ATTRIB) $(MC_HEADER_OUT)
GRAF_DIRS_TO_MAKE += $(MC_HEADER_OUT_DIR)
GFX_DATA_OUT += $(MC_HEADER_OUT)
#----------------------------------------------------------------------------
# Music
#----------------------------------------------------------------------------
MUSIC_IN_DIR := data/music
MUSIC_OUT_DIR := $(DATA_OUT)/music
MUSIC_LIST := sb-title fma \
chapter1 chapter2 chapter3 chapter4 chapter5 chapter6
MUSIC_ALL_IN := $(foreach MUSIC,$(MUSIC_LIST),$(MUSIC_IN_DIR)/$(MUSIC)/$(MUSIC).PXM $(MUSIC_IN_DIR)/$(MUSIC)/$(MUSIC).VH $(MUSIC_IN_DIR)/$(MUSIC)/$(MUSIC).VB)
MUSIC_ALL_OUT := $(foreach MUSIC,$(MUSIC_LIST),$(MUSIC_OUT_DIR)/$(MUSIC).PXM $(MUSIC_OUT_DIR)/$(MUSIC).VH $(MUSIC_OUT_DIR)/$(MUSIC).VB)
music: $(MUSIC_ALL_OUT)
cleanmusic:
@$(RM) -f $(MUSIC_ALL_OUT)
@$(ECHO) Music Cleaned
$(MUSIC_ALL_OUT) : $(MUSIC_ALL_IN)
@$(CP) $(MUSIC_ALL_IN) $(MUSIC_OUT_DIR)
@$(ATTRIB) $(MUSIC_ALL_OUT)
GRAF_DIRS_TO_MAKE += $(MUSIC_OUT_DIR)
GFX_DATA_OUT += $(MUSIC_ALL_OUT)
#----------------------------------------------------------------------------
# Script stuff..
#----------------------------------------------------------------------------
SCRIPTS_LIST := ch1l1_01 ch1l1_02 ch1l2_01 ch1l2_02 ch1l2_03 ch1l4_01 ch1l4_02 \
ch2l1_01 ch2l1_02 ch2l2_01 ch2l2_02 ch3l2_01 ch3l3_01 \
ch3l3_02 ch4l3_01 ch4l3_02 \
fma_ch1_00 fma_ch1_01 fma_ch1_02 fma_ch1_03 \
fma_ch2_00 fma_ch2_01 fma_ch2_02 fma_ch2_03 \
fma_ch3_00 fma_ch3_01 fma_ch3_02 \
fma_ch4_00 fma_ch4_01 fma_ch4_02 \
fma_ch5_00 fma_ch5_01 fma_ch5_02 \
fma_ch6_00 fma_ch6_01 fma_ch6_02 fma_ch6_03 \
fma_plankton fma_party \
c1l1_celebrate c1l2_celebrate c1l3_celebrate c1l4_celebrate \
c2l1_celebrate c2l2_celebrate c2l3_celebrate c2l4_celebrate \
c3l1_celebrate c3l2_celebrate c3l3_celebrate c3l4_celebrate \
c4l1_celebrate c4l2_celebrate c4l3_celebrate c4l4_celebrate \
c5l1_celebrate c5l2_celebrate c5l3_celebrate c5l4_celebrate \
triggerspeech_151 triggerspeech_152 triggerspeech_153 triggerspeech_154 \
triggerspeech_155 triggerspeech_156 triggerspeech_157 triggerspeech_158 \
triggerspeech_159 triggerspeech_028
SCRIPTS_IN_DIR := $(GAME_DATA_DIR)/scripts
SCRIPTS_OUT_DIR := $(DATA_OUT)/scripts
SCRIPTS_OUT := $(foreach SCRIPT,$(SCRIPTS_LIST),$(SCRIPTS_OUT_DIR)/$(SCRIPT).dat)
scripts : $(SCRIPTS_OUT)
cleanscripts:
@$(RM) -f $(SCRIPTS_OUT)
@$(ECHO) Scripts Cleaned
# Saves a lot of hassle to make the scripts dependant upon the text database too..
$(SCRIPTS_OUT_DIR)/%.dat : $(SCRIPTS_IN_DIR)/%.scr $(SCRIPT_TRANS_HDR)
@scripter $< $@
GRAF_DIRS_TO_MAKE += $(SCRIPTS_OUT_DIR)
GFX_DATA_OUT += $(SCRIPTS_OUT)
#----------------------------------------------------------------------------
# Demo mode data
#----------------------------------------------------------------------------
DEMO_IN_DIR := data/demo
DEMO_OUT_DIR := $(DATA_OUT)/demo
DEMO_LIST := demo____
DEMO_ALL_IN := $(foreach DEMO,$(DEMO_LIST),$(DEMO_IN_DIR)/$(DEMO).dmo)
DEMO_ALL_OUT := $(foreach DEMO,$(DEMO_LIST),$(DEMO_OUT_DIR)/$(DEMO).dmo)
demo: $(DEMO_ALL_OUT)
cleandemo:
@$(RM) -f $(DEMO_ALL_OUT)
@$(ECHO) Demo Cleaned
$(DEMO_ALL_OUT) : $(DEMO_ALL_IN)
@$(CP) $(DEMO_ALL_IN) $(DEMO_OUT_DIR)
@$(ATTRIB) $(DEMO_ALL_OUT)
GRAF_DIRS_TO_MAKE += $(DEMO_OUT_DIR)
GFX_DATA_OUT += $(DEMO_ALL_OUT)
#----------------------------------------------------------------------------
# Dirs to Make
#----------------------------------------------------------------------------
GRAF_DIRS_TO_MAKE += $(TRANS_OUT_DIR) \
$(ACTOR_DIRS_TO_MAKE) \
$(LEVELS_DIRS_TO_MAKE)
gdirs : $(GRAF_DIRS_TO_MAKE)
$(GRAF_DIRS_TO_MAKE) :
@$(MKDIR) -p $(GRAF_DIRS_TO_MAKE)
@$(ECHO) Created directories $(GRAF_DIRS_TO_MAKE)
#----------------------------------------------------------------------------
# Build the Heffalump file
#----------------------------------------------------------------------------
.PHONY: biglump cleanbiglump
BIGLUMP_IN := $(GFX_DATA_OUT)
BIGLUMP_OUT := $(VERSION_DIR)/BigLump.Bin
BIGLUMP_INC := $(INC_DIR)/BigLump.h
biglump : $(BIGLUMP_OUT)
cleanbiglump :
@$(RM) -f $(BIGLUMP_OUT)
@$(GLECHO) BigLump Cleaned
$(BIGLUMP_OUT) : $(BIGLUMP_IN)
@$(MAKEDATA) -b:$(OUT_DIR)/Data/ -s:$(GAME_DATA_DIR)/DataCache.Scr -o:$(BIGLUMP_OUT) -i:$(BIGLUMP_INC)
# @$(REDIR) $(TEMP_DIR)/BigLump.Scr $(BIGLUMP_IN)
# $(MAKEDATA) -b:$(OUT_DIR)/Data/ -s:$(GAME_DATA_DIR)/DataCache.Scr -s:$(TEMP_DIR)/BigLump.Scr -o:$(BIGLUMP_OUT) -i:$(BIGLUMP_INC)
# All files MUST be in datacache.scr now :oP
#----------------------------------------------------------------------------
# Where it all happens
#----------------------------------------------------------------------------
all : dirs gdirs \
actors \
levels \
biglump
@$(ECHO) Graphics made
#----------------------------------------------------------------------------
# end